我的脚本中有以下代码:
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/