playwright单选框_复选框勾选
对单选框、复选框进行勾选,一种是使用click()点击勾选,还可以使用check()方法勾选。还可以使用uncheck()取消勾选。
使用方式:
Locator.check() #勾选复选框
Locator.uncheck() #取消勾选
Locator.set_checked() #实现复选框勾选
我们来看一下这几个方法的使用。
实践代码:
# '''
# 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.get_by_role("button", name="登录").click()
page.wait_for_timeout(2000)
page.locator('text=已发事项').click()
frame = page.frame_locator("iframe[name=\"iframe_main\"]").frame_locator("frame[name=\"listframe\"]")
v = frame.get_by_title('123414').get_attribute('onclick') # 获取onclick属性值
import re
v = re.findall('"(.+?)",',v)[0]
check_Box = frame.locator(f'[value="{v}"]') # 定位复选框
check_Box.click() # 点击复选框,复选框选中
page.wait_for_timeout(2000)
v = frame.get_by_title('防盗门锁的质量问题').get_attribute('onclick') # 获取onclick属性值
v = re.findall('"(.+?)",',v)[0]
check_Box = frame.locator(f'[value="{v}"]') # 定位复选框
check_Box.check() # 使用check()方法勾选复选框
page.wait_for_timeout(2000)
check_Box.uncheck() # 取消勾选
check_Box.set_checked(checked=True) #再次勾选复选框
page.wait_for_timeout(2000)
context.close()
browser.close()
playwright.stop()