我只是想知道如何选择字符串=“ Last Minute”,但是仅当此<td>
中的前<tr>
包含特定文本(在这种情况下为“要约”)时才选择。有没有人可以帮助我?
<tr class="row m-0 mb-25">
<td class="color_b1 font_10 d-inline-block col-12 text-uppercase">Offer</td>
<td class="d-inline-block col-12">Last Minute</td>
</tr>
答案 0 :(得分:2)
正如评论中指出的那样,我的原始建议并未考虑元素的位置。当您与兄弟姐妹打交道时,Amrendra Kumar提供的解决方案是正确的。也可以通过下面的XPath完成。
//td[text()='Offer']/following-sibling::td[1]
仅检查以确保父节点具有文本为Offer
的节点,可能对另一个节点有用
//td[text()="Last Minute" and ../td[text()='Offer']]
这会发现值td
的{{1}}向上移动到父Last Minute
,然后检查文本为tr
的同级td
使用您提供的示例可以正常工作。我建议将您的html复制到Xpath测试器中,并进行测试以确保始终实现所需的结果,但是鉴于所提供的信息,这应该可以解决您的问题。
答案 1 :(得分:1)
You can check with position and its text()
like this to achieve desire output:
//td[text()="Last Minute" and preceding-sibling::*[1][self::td[.='Offer']]]