无法通过Selenium webdriver中的Xpath获取元素

时间:2016-03-05 17:25:09

标签: java xpath selenium-webdriver

HTML部分:

<li tabindex="-1" role="option" unselectable="on" class="k-item k-state-focused" data-index="0" id="6609432f-2fd2-49c1-95df-6a330acecca0">admin</li>

这是我正在尝试的Xpath:

 driver.findelement(by.xpath("//li[text()=//li[. = 'admin']"));

但是得到例外:

无效的选择器:无法找到具有xpath表达式的元素// li [text()= // li [。 =&#39; admin&#39;]因为以下错误:

SyntaxError:无法执行&#39;评估&#39; on&#39; Document&#39;:字符串&#39; // li [text()= // li [。 =&#39; admin&#39;]&#39;不是有效的XPath表达式。

准确查看UI和HTML代码:

enter image description here

该字段是自动完成的.ID正在改变该元素的动态,所以我不能在这里使用id来查找元素。

1 个答案:

答案 0 :(得分:3)

您的XPath表达式在语法上不正确,还有一个额外的[,修复它:

//li[text()='admin']

或者,您可以使用.来引用当前节点的文本:

//li[. = 'admin']