在<li>元素中查找具有相同名称的最后一个链接

时间:2015-08-03 12:35:19

标签: java selenium xpath webdriver

我需要通过xpath链接找到同名的&lt; li>元件。这是我的代码

我需要找到最后一个&lt; li>元素在哪里&lt; a&gt; text == Schedule_Planning_New

<li name="">
<li name="">
<a id="FormElement_linkList_205-46" name="" rel="FormElement_linkList_205">Schedule_Planning_New</a>
</li>
<li name="">
<li name="">
<li name="">
<li name="">
<li name="">
<li name="">
<li name="">
<li name="">

这是我的xpath,当我有一个元素&lt; li>如果它不止一个,它就不起作用了:

session.getPage().clickLinkByXpath("//table/tbody/tr/td/div[2]/div/div/div[2]/ul/li/a[contains(., 'Schedule_Planning_New')][last()]");

2 个答案:

答案 0 :(得分:1)

您可以在谓词中使用last()访问XPath中的最后一个元素。

您的问题的XPath -

li[last()][a/text()="Schedule_Planning_New"]

答案 1 :(得分:0)

对不起伙计们,我的代码正在运行,我的方法还有其他问题,我开始使用:

WebElement webElement = getSession().getDriver().findElement(By.xpath(xpath));
        webElement.sendKeys("\n");

而不是:

.click();