roselearn

导航

Playwright基本定位

css定位

如在css定位为#kw的位置输入内容,如下写法均可:
page.locator('#kw').fill("输入的内容")
page.locator('css=#kw').fill("输入的内容") 
page.fill('#kw','输入的内容') #可以不写css=或xpath=,会自动判断是cssg还是xpath
如在css定位为#su的位置点击,如下写法均可:
page.locator('#su').click()
page.click('#su') 
page.click('css=#su')

xpath定位

如在xpath定位为//*[@id='kw']的位置输入内容,如下写法均可:
page.locator("//*[@id='kw']").fill("输入的内容")
page.locator('xpath=//*[@id='kw']').fill("输入的内容") 
page.fill("//*[@id='kw']",'输入的内容')
如在xpath定位为//*[@id='su']的位置点击,如下写法均可:
page.locator("//*[@id='su']").click()
page.locator('xpath=//*[@id='su']').click()
page.click("//*[@id='su']")

text文本定位

对于界面上的文本,可用playwright的文本定位方式来定位

page.click("text=xxx")  #文本没加引号,为模糊匹配,大小写不敏感
page.click("text='XXX") #文本加了引号,为精确匹配,大小写敏感

如下截图,文本定位a标签

 

 如下图,文本定位按钮

 

 组合定位

组合定位可用以上三种方式的任意组合来定位,中间有 >> 隔开即可

比如根据如下的元素定位百度按钮

 如下组合定位均可

内置定位器 

• page.get_by_text()  #通过文本内容定位

• page.get_by_label()  #通过关联标签的文本定位表单控件
• page.get_by_placeholder()   #按占位符定位输入

• page.get_by_title()    #通过标题属性定位元素

• page.get_by_role()   #通过显式和隐式可访问性属性进行定位。

• page.get_by_alt_text()  #通过替代文本定位元素,通常是图像。
• page.get_by_test_id()   #根据data-testid属性定位元素(可以配置其他属性) 

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