在尝试为此代码块找到有效的xpath时撞墙 我试过了
//a[contains(text(),'SmartTrak')]//a[2] ->doesnt work
//td[contains(text(),'123123123')]//a[2] ->doesnt work
//td[contains(text(),'123123123')]/following::a ->clicks on the wrong link
我正在尝试点击与“123123123”关联的SmartTrak链接 任何帮助表示赞赏!
<td class="BlackSmall" align="left" style="padding-left: 15px; padding-right: 5px;">123123123</td>
<td class="BlackSmall" align="right" style="padding-left: 15px; padding-right: 5px;">.99</td>
<input id="bp_0" type="hidden" value="N" name="bp_0">
<td class="BlackSmall" align="left" style="padding-left: 15px; padding-right: 5px;">Mail</td>
<td class="BlackSmall" align="right" style="padding-left: 15px; padding-right: 5px;">0.00</td>
<td class="BlackSmall" align="left" style="padding-left: 15px; padding-right: 5px;">INVOICE</td>
<td class="BlackSmall" align="center" style="white-space: nowrap">
<a class="hovsml" target="_blank" href="/retrievethis.php?c=hdhdhddhd=dsdsdsddds">ViewPDF</a>
<span style="width:20px; display:inline-block;"></span>
<a class="HovSml" href="JavaScript: INVDetails(xxxx)">SmartTrak</a>
答案 0 :(得分:2)
您可以使用单个XPath表达式一次性完成:
//td[. = '123123123']/following-sibling::td/a[. = 'SmartTrak']
我们在这里找到带有td
文字的123123123
元素,让以下td
兄弟元素的a
元素带有SmartTrak
文字作为直接子。