<a ui-sref="apps.service" href="#/apps/service">
<i class="glyphicon glyphicon-list icon zoom-icon text-info-dker"></i>
<span class="font-bold"> Service</span>
</a>
如何找到元素?
driver.findElement(By.partialLinkText("service")).click();
driver.findElement(By.xpath("ui[href$=services]"));
答案 0 :(得分:1)
partialLinkText
区分大小写。尝试
driver.findElement(By.partialLinkText("Service")).click();
元素位于<a>
标记中,而不是<ui>
标记
driver.findElement(By.xpath(".//a[href*='services']"));
答案 1 :(得分:0)
You should try using xpath
with WebDriverWait
to wait until element visible and enable as below :-
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath(".//a[contains(.,'Service')]"))).click();
答案 2 :(得分:0)
最好使用contains in来定位此xpath中的元素。下面的xpath是准确的。
driver.findElement(By.xpath(&#34; // A /跨度[含有(文本(),&#39;服务&#39)]&#34)
答案 3 :(得分:0)
这个XPath,
//a[normalize-space() = 'Service']
将选择标准化字符串值等于&#34; Service&#34;的所有a
个元素。 - 非常适合你展示的例子。
警惕基于contains()
的解决方案,因为它们还会匹配包含其他前导或尾随文本的字符串,这可能是您想要的也可能不是。