playwright_指定元素触发事件
playwright中使用dispatch_event()方法用于在指定元素上触发指定类型的事件。
使用方法:
Locator. dispatch_event(‘event’)
Page. dispatch_event(selector,’event’)
例如想以任何可能的方式模拟点击,则可以通过使用 locator.dispatch_event() 在元素上触发 HTMLElement.click() 行为来触发点击事件:
实践代码:
'''
# author: 测试-老姜 交流微信/QQ:349940839
# 欢迎添加微信或QQ,加入学习群共同学习交流。
# QQ交流群号:877498247
# 西安的朋友欢迎当面交流。
'''
from playwright.sync_api import Playwright, sync_playwright, expect
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False, args=['--start-maximized']) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("http://127.0.0.1:8080/oa/") # 打开网址
page.locator("input[name=\"loginId\"]").fill("sup")
password_input = page.locator("input[name=\"password\"]")
password_input.fill("s1234567")
# page.dispatch_event('[value="登录"]','click') # 登录按钮上触发点击事件
page.get_by_role("button", name="登录").dispatch_event('click') # 登录按钮上触发点击事件
page.wait_for_timeout(10000)
context.close()
browser.close()
playwright.stop()