使用xpath在选择基于标题的元素时遇到问题

时间:2018-01-03 11:07:20

标签: java html xpath selenium-webdriver

enter image description here

我的Xpath ((//span[text()='Number of Allowances'])/../../../following::div//table[@class='mainTable']//tr[1]//input[@data-automation-id="numericInput" ])

在上面的xpath中,我已经明确指出我要选择标题允许数量下方的文本框,尽管它向我显示多个文本框作为评估。

由于我不想将索引传递给select元素,我在上面写了xpath来选择精确的文本框,这个文本框低于特定的标题,但似乎我错过了一些东西。

1 个答案:

答案 0 :(得分:2)

我创建了以下玩具表:

<html>
<head><title>T</title></head>
<body>
  <table>
    <tr>
      <td>col1</td>
      <td>col2</td>
      <td>col3</td>
      <td>col4</td>
    </tr>
    <tr>
      <td input="1">val1</td>
      <td input="1">val2</td>
      <td input="1">val3</td>
      <td input="1">val4</td>
    </tr>
  </table>
</body>
</html>

对于标题,相应的输入必须具有相同数量的先前td兄弟,例如col3

//td[@input]
    [count(preceding-sibling::td)
     =count(../../tr/td[.="col3"]/preceding-sibling::td)]

经过xsh测试。