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