鉴于
<table>
<tr>
<td>service1</td>
</tr>
<tr>
<td>service2</td>
</tr>
<tr>
<td>service3</td>
</tr>
<tr>
<td>blip</td>
</tr>
</table>
当我不知道n会是什么时,如何选择最后一个'service-n'行?
我尝试添加[last()]
但它没有用。
我有:
//table//tr//td[contains(text(),'service')]
但是它选择了第一行,我想要最后一行
我不能使用tr[3]
,因为实际上'service-n'行的数量是动态的并且变化很大。
答案 0 :(得分:16)
答案正是我放[last()]的地方,我把它放在了错误的地方
它在这里:
//div[@id='content']//table//tr[last()]//td[contains(text(),'service')][last()]/following-sibling::td[2]
不在这里:
//div[@id='content']//table//tr[last()]//td[contains(text(),'service')]/following-sibling::td[2][last()]
答案 1 :(得分:1)
以这种方式尝试使用cssSelector。
By.cssSelector("table tr:last-child td")
答案 2 :(得分:1)
cousin
答案 3 :(得分:0)
<table id="table1">
<tbody>
<tr id="tr1">
<td id="td1"></td>
<td id="td2"></td>
<tr>
<tr id="tr2">
<td id="td3"></td>
<td id="td4"></td>
<tr>
<tbody>
</table>
然后定位到上一个tr的最后一个td 我们可以将xpath设置为:xpath =“ // table [@ id ='table1'] // tr [last()] // td [last()]”;