【问题标题】:Not able to get element by Xpath in Selenium webdriver在 Selenium webdriver 中无法通过 Xpath 获取元素
【发布时间】:2016-06-19 10:37:13
【问题描述】:

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[。 = 'admin'] 因为以下错误:

语法错误:无法对“文档”执行“评估”:字符串 '//li[text()=//li[。 = 'admin']' 不是有效的 XPath 表达式。

仔细查看 UI 和 HTML 代码:

该字段是自动完成的。ID 正在更改该元素的动态,因此我无法在此处使用 id 来查找元素。

【问题讨论】:

    标签: java xpath selenium-webdriver


    【解决方案1】:

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

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

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

    //li[. = 'admin']
    

    【讨论】:

    • 感谢您的回复,我刚刚尝试了您给出的解决方案并得到了一些更接近的错误,我更新了问题,请您看看。
    • @HelpingHands 是的,但您仍在尝试无效的表达式 //li[text()=//li[. = 'admin']。试试//li[. = 'admin']。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多