我有这样的HTML结构:
<table>
<tr>
<td>some value 1</td>
<td>unique value 1</td>
<td>needed value 1</td>
<td>some value 1</td>
</tr>
<tr>
<td>some value 2</td>
<td>unique value 2</td>
<td>needed value 2</td>
<td>some value 2</td>
</tr>
<tr>
<td>some value 3</td>
<td>unique value 3</td>
<td>needed value 3</td>
<td>some value 3</td>
</tr>
</table>我使用Selenium,需要通过使用XPath搜索唯一值来指向唯一值旁边的td。
我已经找到了解决方案:找到具有所需唯一值的tr,然后计算td的先行兄弟,并使用position()= count (先行兄弟)+2
//tr[./td[text()='Unique value 2']]/td[position()=count(//tr[./td[text()='Unique value 2']]/td[text()='Unique value 2']//preceding-sibling::td)+2]有没有更简单的方法?问题是表的结构可能会随时间发生变化,但所需的值始终是唯一的
发布于 2013-02-21 19:49:43
使用following-sibling而不是preceding-sibling
//td[text()="unique value 2"]/following-sibling::td[1]https://stackoverflow.com/questions/15001358
复制相似问题