Webdriverio: 选择器通过文本/部分文本查找任何元素?

创建于 2017-10-03  ·  4评论  ·  资料来源: webdriverio/webdriverio

问题

我想通过文本或部分文本匹配查询元素,而不受元素类型的限制。 这在诸如/^I click the "(.*)" button$/类的黄瓜步骤中很有用,其中可以使用<a><button><input>标签来实现按钮。

我也可能希望在页面上查找文本,例如“您已注销”,但这几乎可以嵌入到任何元素中,在这种情况下,枚举所有可能的标签并搜索每个标签的文本是不切实际的.

从文档看来,如果不指定元素类型,这是不可能的,有没有办法? 可以有吗?

环境

  • WebdriverIO 版本:4.8.0
  • Node.js 版本:6.11.3
  • 单机模式

所有4条评论

@peterjwest你可以试试*=some text 。 如果这不起作用,您必须使用 xpath。 互联网上有关于如何使用 xpath 查询具有特定文本的随机元素的教程。 请加入我们的Gitter对于这类问题。 这不是一个必要的问题。

这在 Google 结果中确实很高,所以这里有一个工作示例:

browser.getText("//*[contains(text(),'Hello')]")

https://stackoverflow.com/a/2994336/4176104

谢谢!

*=some text对我有用(v4.13.2)。

@christian-bromann 为什么你不确定它会起作用? 是否与使用的 Webdriverio 版本有关?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ViaMay picture ViaMay  ·  4评论

mrahman2327 picture mrahman2327  ·  3评论

kiraLinden picture kiraLinden  ·  3评论

grofit picture grofit  ·  4评论

Pylipala picture Pylipala  ·  4评论