终极:新一代最强开源UI自动化测试神器 Playwright - 元素定位

优采云 发布时间: 2022-12-12 14:17

  终极:新一代最强开源UI自动化测试神器 Playwright - 元素定位

  Playwright在使用过程中其实和Selenium非常相似。Playwright也通过元素定位来实现各种功能。我们来看看Playwright的元素定位方式。

  文本定位

  使用文本定位时,直接使用text=text,比如定位登录按钮,我们可以使用“login”关键字来定位

  page.locator("text=登录").click()

  CSS 定位

  比如id=nav-bar.contact-us-item

  page.locator("#nav-bar .contact-us-item").click()

  元素属性定位

  比如点击“百度点击”,我们可以使用[value='百度点击']来定位

  page.locator("[value='百度一下']").click()

  组合 CSS 和文本定位

  1.:有文本()

  has-text() 伪类可用于 css 选择器。它匹配任何收录指定文本的元素,可能在子元素中。匹配不区分大小写并搜索子字符串。例如span:has-text('百度看')匹配百度看

  page.locator("span:has-text('百度一下')").click()

  2.伪类:has()

  父元素收录子元素,比如点击id为s-top-left的元素下收录的第二个a标签

  page.locator("#s-top-left:has(a) > a:nth-child(2)").click()

  3.伪类:is()

  选择任意一个元素,点击【新闻】,如果“新闻”不存在,点击“新闻”

  page.click(':is(a:has-text("新闻"), a:has-text("News"))')

<p>

</p>

  布局选择器定位

  当目标元素缺乏独特的特征时,有时很难为目标元素想出一个好的选择器。在这种情况下,使用 Playwright 布局选择器可能会有所帮助。这些可以与常规 CSS 结合使用。

  例如,以下代码匹配文本“用户名”右侧的输入字段 - 当页*敏*感*词*有多个难以区分的输入时很有用。

  page.locator("input:right-of(:text(&#39;Username&#39;))").click()

  :right-of(inner > selector)- 在任何垂直位置匹配与内部选择器匹配的任何元素右侧的元素。

:left-of(inner > selector)- 在任何垂直位置匹配与内部选择器匹配的任何元素左侧的元素。

:above(inner > selector)- 匹配任何水平位置上匹配内部选择器的任何元素之上的元素。

:below(inner > selector)- 在任何水平位置匹配位于与内部选择器匹配的任何元素下方的元素。

:near(inner > selector)- 匹配与内部选择器匹配的任何元素附近(在 50 CSS 像素内)的元素。

  # 在“Username”右侧输入TesterRoad

page.locator("input:right-of(:text(> visible=true").click()

  找到第 N 个元素

  有时页面收录许多相似的元素,很难选择一个特定的元素。例如:

   Buy

Buy

Buy

  我们可以使用 :nth-match(:text("Buy"), 3) 从上面的 HTML 中选择第三个按钮。请注意,索引从 1 开始。

  # 点击第三个按钮 Bug

page.locator(":nth-match(:text(&#39;Buy&#39;), 3)").click()

  xpath 位置

  # 百度首页,使用 xpath 定位输入框,并输入“mrjade”

page.fill("//input[@name=&#39;wd&#39;]", "mrjade")

# 或者

page.fill("xpath=//*[@id=&#39;kw&#39;]","mrjade")

  总结

  Playwright和Selenium的元素定位方式类似,都是定位相同的WEB页面元素,所以区别不大。区别在于它们的定位方法。Selenium 为每个选择器都提供了相应的方法,而 Playwright 只需要编写定位表达式即可,不需要指定具体的方法。从这一点来看,Playwright 很方便。

  解决方案:网站数据采集工具:优采云采集器软件!

  数据来自

  

  优采云采集器软件是一种网络抓取工具,是

  用于网站信息采集、网站信息抓取,包括图片、文字等信息采集处理和发布,是目前互联网数据采集软件的大量使用。由合肥乐威信息技术*敏*感*词*出品,10年打造网络数据采集。

  

  返回: 网站站长工具

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线