查找带有td的链接的xpath包含文本

时间:2015-11-20 19:18:26

标签: xpath selenium-webdriver codeception

在尝试为此代码块找到有效的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>

1 个答案:

答案 0 :(得分:2)

您可以使用单个XPath表达式一次性完成:

//td[. = '123123123']/following-sibling::td/a[. = 'SmartTrak']

我们在这里找到带有td文字的123123123元素,让以下td兄弟元素的a元素带有SmartTrak文字作为直接子。