javascript - Xpath 选择两个子元素都包含文本的元素

标签 javascript xpath

如何选择两个子元素都包含特定文本的元素。

示例:

<div class="line">
     <h1>
          <a>1</a>
     </h1>
     <p>
          <a>2</a>
     </p>
</div>
<div class="line">
     <h1>
          <a>3</a>
     </h1>
     <p>
          <a>4</a>
     </p>
</div>

如何创建一个 XPath 字符串,搜索类行,然后在其中一个跨度包含 3 和 4 的地方选择它

我试过了

//div[contains(@class, 'line')]

但我不知道如何在第一个子元素包含 3 和第二个子元素包含 4 的情况下选择它。

最佳答案

尝试通过两个子节点的确切字符串值来选择 div 节点

//div[contains(@class, 'line') and normalize-space(h1)='3' and normalize-space(p)='4']

关于javascript - Xpath 选择两个子元素都包含文本的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53479867/

相关文章:

css - webdriver 根据第 n 个兄弟条件选择第一个兄弟

java - Selenium Webdriver java : click on a checkbox

javascript - 如何从函数内在 javascript 中创建 2 `this` 引用

javascript - Sequelize - Promise.All 返回未定义的数组

java - 如何在Java中读写没有某些节点的XML文件

javascript - 无法使用 xpath、.select 或使用 Python 的 Selenium 单击 "next"按钮

xml - Xpath选择全部并排除子项及其子项

javascript - 使用 Highcharts 修正图 TableView

javascript - 需要数学日期算法

javascript - 将八进制和十六进制数转换为基数 10