css - Nightwatch.js 中的 Xpath

标签 css xpath nightwatch.js

我有这个结构

<div class ="wg-block">
  ...
    <h4 class ="number" >
       "Text"

我必须确保带有文本“text”的元素 h4 在 div 中。 我试试这个:

 .useXpath()
 .waitForElementVisible('/div[contains(@class, "wg-block")]/h4[text()="Text"]',1000)

但是有一个错误。 我如何才能正确确定此元素的可见性?

最佳答案

尝试替换

'/div[contains(@class, "wg-block")]/h4[text()="Text"]'

'//div[@class = "wg-block"]//h4[normalize-space(text())="Text"]'

注意开始 /适用于 root元素(即 html ,但不是 div )以及 /指直子。所以/div/h4表示 h4这是 root 的直接子代元素 div .

你应该使用 //div//h4匹配h4这是div的后代位于 DOM 中的某处

text()="Text"可以应用于匹配元素 <h4>Text</h4> , 但是如果你想匹配

<h4>
    Text
</h4>

您需要去掉空格和换行符。在这种情况下,您可以使用 normalize-space(text())方法或 contains(text(), "Text")

关于css - Nightwatch.js 中的 Xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697261/

相关文章:

xpath - 根据关联列表中的值过滤 XPath 列表

google-chrome - 使用 Google Chrome Headless 模式强制执行屏幕截图分辨率

html - 如何修改 <select> 下拉菜单的 CSS?

javascript - 我无法弄清楚的滚动错误

javascript - 如何更改 javascript 对象的颜色?

javascript - 关闭 Nightwatch 中的打印对话框?

javascript - 如何在 nightwatch.js 中显示 console.log?

html - 视频背景仅播放1个视频

python - AttributeError : 'str' object has no attribute 'findAll' , 使用 BeautifulSoup 从 Youtube 抓取数据时无输出

c# - 有关如何在 C# 中从 XML 文档中正确提取 DateTime 的一些信息?