java - xpath 在 selenium 中无法识别,但在 XPather 中可以识别

标签 java xpath selenium

我的脚本中有以下代码:

System.out.println(selenium.getAttribute("xpath=//div[@class='guest clearfix'][1]/@id"));

当我尝试运行脚本时,它说找不到该元素。如果我将 xpath 输入 XPather(firefox 的插件)//div[@class='guest clearfix'][1]/@id,它会正确地给我 id。

我很困惑为什么它不能在我的代码中运行。如果有人发现我的代码中有任何错误,请告诉我。

谢谢

最佳答案

我认为问题在于@id 之前的额外正斜杠。请尝试以下操作:

selenium.getAttribute("//div[@class='guest clearfix'][1]@id");

我相信最后/@id是返回属性的有效 XPath,但 Selenium 的语法不同,因为它需要元素定位器后跟 @和属性名称。

此外,您可以使用以下 CSS 定位器实现相同的效果:

selenium.getAttribute("css=div.guest.clearfix@id");

关于java - xpath 在 selenium 中无法识别,但在 XPather 中可以识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1836505/

相关文章:

java - 在 JPQL 中将表修剪为 500 条记录

java - 每次 Activity 恢复时,自定义 ListView 都会重复自身(android)

r - 使用 R 中的 Xpath 根据另一个属性及其父属性获取节点的属性

unit-testing - 如何在本地或 Jenkins 上*自动化*基于浏览器的单元测试

python-3.x - 通过href属性的一部分查找元素

java - 为什么图像的大小是0 x 0

java - 如何将 Maven 添加到现有的 IntelliJ Android 项目

C# 如何提取完整的xml节点集

python - Xpath提取多个节点之间的所有文本?

python - 使用 Ctrl + A 选择文本框 Selenium RC 中的所有文本