我的脚本中包含以下代码:

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/

10-10 09:21
查看更多