请查看下面的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] [(包含(文本(), '14.00£'))] /../ TD [1] [(包含(文本(), '单个'))]
我在其他地方成功地使用了类似的符号 - 但在这里无济于事......我认为这是td [1]有嵌套元素,但不确定。
有人可以启发我的错误吗? :)
干杯!
答案 0 :(得分:5)
怎么样:
//tr[contains(td[1], "Single")]/td[2]
首先选择包含与文字匹配的<tr>
的{{1}},然后选择<td>
。
然后,
td[2]
应该返回contains(//tr[contains(td[1], "Single")]/td[2], "£14.00")
。
或者,更接近您尝试的表达式,您可以测试它是否匹配:
True
请参阅@ JensErat对find xth td with td contains in same tr xpath python的回答。
答案 1 :(得分:0)
为什么不自己简单,在代码中执行if语句。伪码:
或者,您可以获取顶级tr的文本并对该文本执行检查。