roselearn

导航

Playwright复杂定位

select下拉框

先定位到下拉框,然后通过select_option选择值

# 下拉框通过值单选
page.get_by_label('a').select_option('x')
# 下拉框通过label单选
page.get_by_label('a').select_option(label='p')
# 下拉框通过值多选
page.get_by_label('a').select_option(['x', 'y', 'z'])

单选框和复选框

先定位到要选中的元素,然后check()

# 点击checkbox
page.get_by_label('a').check()
# 断言选中状态
assert page.get_by_label('a').is_checked() is True
# 点击单选框
page.get_by_label('a').check()

拖动

可实现将鼠标从元素A移动到元素B

page.locator("A").drag_to(page.locator("B"))

iframe

通过frame_locator定位到iframe上,然后再在frame上继续定位

#先定位到#my_iframe然后定位Submit元素
locator = page.frame_locator("#my-iframe").get_by_text("Submit")  
#再点击该元素
locator.click() 
#当定位到多个frame时,通过first定位到第一个
page.frame_locator("#my-iframe").first
#当定位到多个frame时,通过last定位到第一个
page.frame_locator("#my-iframe").last
#当定位到多个frame时,通过索引定位
page.frame_locator("#my-iframe").nth(1)
#获取页面所有frame
page.frames
#可根据name和url定位frame
page.frame(name="name")
page.frame(url=r"url")

page.frame 和 page.frame_locator 使用差异
page.frame_locator('') 返回的对象只能用locator() 方法定位元素然后click()等操作元素
page.frame() 返回的对象能直接使用fill() 和 click() 方法

 

 

posted on 2023-04-28 17:25  dongzs  阅读(402)  评论(0编辑  收藏  举报