Dialog
Dialog objects are dispatched by page via the page.on("dialog") event.
An example of using Dialog
class:
- Sync
- Async
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())
Dialogs are dismissed automatically, unless there is a page.on("dialog") listener. When listener is present, it must either dialog.accept() or dialog.dismiss() the dialog - otherwise the page will freeze waiting for the dialog, and actions like click will never finish.
方法 (Methods)
accept
Added before v1.9Returns when the dialog has been accepted.
使用方式
dialog.accept()
dialog.accept(**kwargs)
參數
-
A text to enter in prompt. Does not cause any effects if the dialog's
type
is not prompt. Optional.
傳回值
dismiss
Added before v1.9Returns when the dialog has been dismissed.
使用方式
dialog.dismiss()
傳回值
屬性 (Properties)
default_value
Added before v1.9If dialog is prompt, returns default prompt value. Otherwise, returns empty string.
使用方式
dialog.default_value
傳回值
message
Added before v1.9A message displayed in the dialog.
使用方式
dialog.message
傳回值
page
Added in: v1.34The page that initiated this dialog, if available.
使用方式
dialog.page
傳回值
type
Added before v1.9Returns dialog's type, can be one of alert
, beforeunload
, confirm
or prompt
.
使用方式
dialog.type
傳回值