selenium xpath,如何选择表中最后一个匹配元素?

selenium xpath,如何选择表中最后一个匹配元素?,selenium,Selenium,给定 但是它选择了第一行,我想要最后一行。 我不能使用tr[3],因为实际上“service-n”行的数量是动态的,变化很大。答案正好是我把[last()]放在了错误的地方 它是这样的: //table//tr//td[contains(text(),'service')] 不在这里: //div[@id='content']//table//tr[last()]//td[contains(text(),'service')][last()]/following-sibling::td[2]

给定

但是它选择了第一行,我想要最后一行。

我不能使用
tr[3]
,因为实际上“service-n”行的数量是动态的,变化很大。

答案正好是我把[last()]放在了错误的地方

它是这样的:

//table//tr//td[contains(text(),'service')]
不在这里:

//div[@id='content']//table//tr[last()]//td[contains(text(),'service')][last()]/following-sibling::td[2]

用cssSelector试试,这样做

//div[@id='content']//table//tr[last()]//td[contains(text(),'service')]/following-sibling::td[2][last()]
List-allegement=fd.findElements(By.xpath(//table//td[contains(,'service')]);
int count=等位基因.size();
等位基因.get(count-1).click();

然后以最后一个tr的最后一个td为目标
我们可以将xpath设置为:xpath=“//table[@id='table1']//tr[last()]//td[last()]”

Hi Suresh Shaw;您的代码可能是正确的,但在某些情况下,它会提供更好的答案;例如,您可以解释此建议的更改将如何以及为什么解决提问者的问题,可能包括相关文档的链接。这将使其对他们更有用,也对其他需要帮助的网站读者更有用我们正在寻找类似问题的解决方案。
//div[@id='content']//table//tr[last()]//td[contains(text(),'service')]/following-sibling::td[2][last()]
By.cssSelector("table tr:last-child td")
<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>