執行 JavaScript
簡介
Playwright 腳本在你的 Playwright 環境中執行。你的頁面程式碼在瀏覽器頁面環境中執行。這些環境不會交叉,它們在不同的虛擬機器中執行,在不同的程序中,甚至可能在不同的電腦上。
page.evaluate() API 可以在網頁的上下文中執行 JavaScript 函式並將結果帶回 Playwright 環境。像 window
和 document
這樣的瀏覽器全域變數可以在 evaluate
中使用。
- Sync
- Async
href = page.evaluate('() => document.location.href')
href = await page.evaluate('() => document.location.href')
如果結果是 Promise 或如果函式是非同步的,evaluate 將自動等待直到它被解析:
- Sync
- Async
status = page.evaluate("""async () => {
response = await fetch(location.href)
return response.status
}""")
status = await page.evaluate("""async () => {
response = await fetch(location.href)
return response.status
}""")