请查看下面的html代码段:
<tr class="clickable"> <td id="7b8ee8f9-b66f-4fba-83c1-4cf2827130b5" class="clickable"> <a class="editLink" href="#">Single</a> </td> <td class="clickable">£14.00</td> </tr>
当td [1]包含“ Single”时,我试图声明td [2]的值。我试过以下的各种变体:
//td[2][(contains(text(),’£14.00’))]/../td[1][(contains(text(),’Single’))]]
我已经在其他地方成功使用了类似的符号-但在这里无济于事…我认为这取决于td [1]具有嵌套元素,但不确定。
有人能启发我犯错吗?:)
干杯!
关于什么:
//tr[contains(td[1], "Single")]/td[2]
首先选择<tr>包含<td>匹配文本的文本,然后选择td[2]。
<tr>
<td>
td[2]
然后,
contains(//tr[contains(td[1], "Single")]/td[2], "£14.00")
应该回来True。
True
或者,更接近您尝试过的表达式,您可以测试它是否匹配:
//tr[contains(td[1], "Single")]/td[2][contains(., "£14.00")]
请参阅@JensErat的答案,以找到xth td和td包含在同一tr xpathpython中