playwright处理弹出对话框

from time import sleep

from playwright.sync_api import sync_playwright

def accept_dialog(dialog):
    time.sleep(1)
    dialog.accept()
     

class TestInput():
    def setup(self):
        playwright = sync_playwright().start()
        self.browser = playwright.chromium.launch(headless=False)
        self.context = self.browser.new_context()
        self.page = self.context.new_page()

    def teardown(self):
        self.browser.close()

    def test_click(self):
        self.page.goto("https://sahitest.com/demo/confirmTest.htm")
        self.page.click('[name="b1"]') # 默认取消对话框

        # 接受对话框
        #先注册一个监听器
        self.page.on("dialog", dialog.accept())
        self.page.click('[name="b1"]')
        #移除监听 否则一直按照该监听器的规则执行
        self.page.remove_listener("dialog", accept_dialog)
        sleep(5)

test=TestInput()
test.setup()
test.test_click()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容