Dialog
Dialog 物件由頁面透過 page.on("dialog") 事件分派。
使用 Dialog
類別的範例
- 同步
- 非同步
from playwright.sync_api import sync_playwright, Playwright
def handle_dialog(dialog):
print(dialog.message)
dialog.dismiss()
def run(playwright: Playwright):
chromium = playwright.chromium
browser = chromium.launch()
page = browser.new_page()
page.on("dialog", handle_dialog)
page.evaluate("alert('1')")
browser.close()
with sync_playwright() as playwright:
run(playwright)
import asyncio
from playwright.async_api import async_playwright, Playwright
async def handle_dialog(dialog):
print(dialog.message)
await dialog.dismiss()
async def run(playwright: Playwright):
chromium = playwright.chromium
browser = await chromium.launch()
page = await browser.new_page()
page.on("dialog", handle_dialog)
page.evaluate("alert('1')")
await browser.close()
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
注意
除非有 page.on("dialog") 監聽器,否則對話框會自動關閉。當監聽器存在時,必須 dialog.accept() 或 dialog.dismiss() 對話框 - 否則頁面將會 凍結 等待對話框,且點擊等動作將永遠不會完成。
方法
accept
在 v1.9 之前新增當對話框被接受時返回。
用法
dialog.accept()
dialog.accept(**kwargs)
參數
返回
dismiss
在 v1.9 之前新增當對話框被關閉時返回。
用法
dialog.dismiss()
返回
屬性
default_value
在 v1.9 之前新增如果對話框是 prompt,則返回預設 prompt 值。否則,返回空字串。
用法
dialog.default_value
返回
message
在 v1.9 之前新增顯示在對話框中的訊息。
用法
dialog.message
返回
page
新增於:v1.34如果有的話,啟動此對話框的頁面。
用法
dialog.page
返回
type
在 v1.9 之前新增返回對話框的類型,可以是 alert
、beforeunload
、confirm
或 prompt
其中之一。
用法
dialog.type
返回