当前位置: 首页 > 知识库问答 >
问题:

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

林玮
2023-03-14

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[文本()=//li[. = 'admin'] 的元素:

语法错误:未能对“Document”执行“evaluate”:字符串“//li[text()=//li[。= 'admin']'不是有效的XPath表达式。

精确查看UI和超文本标记语言代码:

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

共有1个答案

邓建柏
2023-03-14

你的XPath表达式语法不正确,多了一个[,修复一下:

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

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

//li[. = 'admin']
 类似资料:
  • 我正在使用Selenium(Java版本)测试一个基于OpenLayers的API。 我想测试一个使用的功能。控制修改功能。我想单击绘制的特征(SVG),然后拖动并检查它们是否存在、可见或隐藏。 我已经画了一个多边形,并且选择了它。见下图: 这些SVG元素的HTML如下所示: 假设我想选择红点。 我试过: 但是它总是返回一个空列表。 我做错了什么?有人能帮我吗? 多谢了。 编辑1-功能:垂直显示可

  • 嗨,我一直在到处寻找一个非常简单的解释,如何通过xPath找到一个元素。 我想要的只是一种简单的方法来寻找一个元素,但是我想要找到的所有帮助都需要一个。这对我不管用。以下是我想做的: 加载URL 这是我的代码: 当我执行 我得到未定义时,我做 有没有更简单的方法来获取元素?也许是。。。。

  • 你知道为什么吗?

  • 我试图通过selenium单击save按钮,但是,我得到的错误是它无法定位元素。 这是网站的html部分 这是我得到的错误: NoSuchelementException:没有这样的元素:找不到元素:{“method”:“id”,“selector”:“divflashviewermain_savepdfbuttonicon”} (会话信息:chrome=74.0.3729.169)(驱动程序信息

  • 我试图通过xpath获取一个输入元素,但是return语句是false。 当我试图获取标签(它是输入的唯一兄弟)时,它返回true。我也尝试通过输入类型[@type=“checkbox”]获取它,但也失败了。 null

  • [固定] 我正在使用jsoup在Java中完成它。这符合我的需要。