【问题标题】:Xpath for a div containing text包含文本的 div 的 Xpath
【发布时间】:2016-10-16 16:22:24
【问题描述】:

我正在使用 selenium 在 html 页面上执行测试。我只能使用 xpath 来定位元素。我正在尝试创建一个允许我定位所有包含文本的 div 的 xpath,因此我可以使用 findElements 保留这些 WebElement 的引用,无论它是什么,只要他不为空。 所以我有这个 xpath :

//div[5]/div/div[2]

我想定位所有在这个 div 中包含文本的 div 元素(位于 //div[5]/div/div[2] 的 div)

我尝试过使用 text() 或 matches() 的不同方式,但我无法使其工作,例如:

//div[5]/div/div[2]/div[matches(text(), '*', 'i')

我该怎么办?

【问题讨论】:

    标签: html selenium xpath


    【解决方案1】:

    //div[5]/div/div[2]/div[contains(text, 'Your text here.')]

    上述 XPath 应该可以实现您的目标。

    【讨论】:

      【解决方案2】:

      要查找包含任何文本的节点,只需使用: //div[5]/div/div[2]/div[text()]

      【讨论】:

      • 如果这个 xpath 会查看子节点的内部,你会吗?
      • //div[5]/div/div[2]/div[text()] 将只测试最终div中的文本并忽略子节点;如果你想检查孩子也这样做: //div[5]/div/div[2]/div[//text()]
      • //text() 之前缺少一个点?
      • @Stefen - 点是可选的,因为上下文已经在当前节点上
      猜你喜欢
      • 2014-06-01
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      相关资源
      最近更新 更多