对话框
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 之前添加如果对话框是提示,则返回默认提示值。否则,返回空字符串。
用法
dialog.default_value
返回值
message
在 v1.9 之前添加在对话框中显示的消息。
用法
dialog.message
返回值
page
在以下版本中添加:v1.34启动此对话框的页面(如果可用)。
用法
dialog.page
返回值
type
在 v1.9 之前添加返回对话框的类型,可以是 alert
、beforeunload
、confirm
或 prompt
之一。
用法
dialog.type
返回值