Найти тексты, содержащие кавычки xpath в Selenium - PullRequest
2 голосов
/ 11 декабря 2019

Я только что получил ошибку в Selenium (Java):

Невозможно найти элемент с выражением xpath //*[contains(.,'Поле SomeField должно быть строкой или массивомtype с максимальной длиной '60'. ')]

Очевидно, есть два ', которые разбили выражение. Поэтому я изменил код с

WebElement elem = findElement(By.xpath("//*[contains(.,'" + arg + "')]"));

на

WebElement elem = findElement(By.xpath("//*[contains(.,'" + arg.toString().replace("'", "\'") + "')]"));
WebElement elem = findElement(By.xpath("//*[contains(.,'" + arg.toString().replace("'", "\\'") + "')]"));
WebElement elem = findElement(By.xpath("//*[contains(.,'" + arg.toString().replace("'", "\\\'") + "')]"));

Ни один из них не сработал. Теперь я временно работаю над этим:

WebElement elem = findElement(By.xpath("//*[contains(.,\"" + arg + "\"')]"));

Но ошибка вернется, если в аргументе будет ".

Кто-нибудь знает, как это сделать? Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...