Selenium-错误:该表达式不是xpath的合法表达式

时间:2018-10-26 07:29:25

标签: java selenium xpath

在网站[https://javapapers.com/core-java/java-qr-code/]中,如果我在浏览器中搜索xpath以下的元素

//div[@id='tutorial-body']/p/img

我得到了两次匹配,但是如果我在硒代码中使用相同的东西

WebDriver driver = new FirefoxDriver();
driver.get("https://javapapers.com/core-java/java-qr-code/");
Thread.sleep(2000);
WebElement qr_url = driver.findElement(By.xpath("//div[@id='tutorial-body']/p/img/"))
 String l =qr_url.getCssValue("src");

我遇到以下错误:

Exception in thread "main" org.openqa.selenium.InvalidSelectorException: Given xpath expression "//div[@id='tutorial-body']/p/img/" is invalid: SyntaxError: The expression is not a legal expression.
For documentation on this error, please visit: http://seleniumhq.org/exceptions/invalid_selector_exception.html

那么我的Xpath有什么问题?

2 个答案:

答案 0 :(得分:3)

只需在表达式末尾删除多余的斜杠即可:

"//div[@id='tutorial-body']/p/img/" --> "//div[@id='tutorial-body']/p/img"

答案 1 :(得分:1)

为帮助您使用xPath并避免此类错误,您可以使用Chrome浏览器检查并复制xPath,并在硒选择器中输入相同的值。enter image description here