我需要验证<tr>
是否存在,该<tr>
包含3个具有特定值的<td>
。
页面上有100+<tr>
个标签。我正在尝试使用1XPath过滤它们。
例如,如果我过滤这3个值上的所有<tr>
://td[contains(text(),'Belgium')]
//td[contains(text(),'be-stelara-cd-uc')]
//td[contains(text(),'2022-07')]
它应该返回包含这些<td>
的1<tr>
。
因此,我需要做的是根据前面的XPath过滤每个XPath,只留下一个唯一的剩余部分。我遇到了|
并集运算符,这几乎就是我想要的,但是我不想组合结果,而是想要排除它们。
我尝试了以下XPath://tr[contains(td/text(), 'Belgium') and contains(td/text(), 'be-stelara-cd-uc') and contains(td/text(), '2022-07')]
超文本标记语言示例:
https://prnt.sc/qcmEu0zSvu3S
编辑://tr[contains(td/text(), 'Belgium') and contains(td[2]/text(), 'be-stelara-cd-uc') and contains(td[3]/text(), '2022-07')]
这是可行的,我没有意识到运输署也会检查订购情况。如果可能的话,我想调整这个问题,以提出一个普遍的解决方案,考虑到秩序不能得到保证。
2条答案
按热度按时间weylhg0b1#
如果您可以依赖图片中的数据,即:没有空格,也没有超过所示的其他内联元素,您可以尝试这样做:
如果您想要特别确定并想要过滤不需要的空间,您可以尝试以下操作:
如果可以显示更多内容,只需将
.
和contains()
一起使用,如下所示:要完成测试,还可以测试tr的文本内容,如下所示:
2fjabf4q2#
使用以下任何
xpath
标识tr
或