Selenium - ошибка: выражение не является допустимым выражением для xpath - PullRequest
0 голосов
/ 26 октября 2018

На сайте [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 голосов
/ 26 октября 2018

Также, чтобы помочь вам с xPath и избежать подобных ошибок, вы можете проверить и скопировать xPath с помощью Chrome и ввести то же значение в селектор селена. enter image description here

0 голосов
/ 26 октября 2018

Просто удалите лишнюю косую черту в конце выражения:

"//div[@id='tutorial-body']/p/img/" --> "//div[@id='tutorial-body']/p/img"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...