繁体   English   中英

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

[英]Selenium - Error: The expression is not a legal expression for 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有什么问题?

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

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

另外,为了帮助您使用xPath并避免此类错误,您可以使用Chrome检查并复制xPath,并在硒选择器中输入相同的值。 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM