我的Xpath :((//span[text()='Number of Allowances'])/../../../following::div//table[@class='mainTable']//tr[1]//input[@data-automation-id="numericInput" ])
在上面的xpath中,我已经明确指出我要选择标题允许数量下方的文本框,尽管它向我显示多个文本框作为评估。
由于我不想将索引传递给select元素,我在上面写了xpath来选择精确的文本框,这个文本框低于特定的标题,但似乎我错过了一些东西。
答案 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测试。