как ввести строку со специальными символами в Xpath, используя R selenium

result <- z$findElement(using = 'xpath',"//*[contains(text(),'the deal” of hosting major sporting')]")  

В приведенной выше команде ссылочная строка имеет специальный символ сделка”, поэтому R выдал ошибку как

Ошибка: Сводка: NoSuchElement
Подробности: Не удалось найти элемент на странице с использованием заданных параметров поиска.
класс: org.openqa.selenium.NoSuchElementException, но элемент ссылки найден в определенном URL-адресе.


person Mariselvan    schedule 21.10.2016    source источник
comment
Пробовали ли вы символ Юникода ” (отменить символ) ? Не уверен, что это тот самый. Вы можете просмотреть эти на случай, если это не так. . Дайте мне знать, если это работает для вас.   -  person JDelorean    schedule 21.10.2016


Ответы (1)


Я думаю, проблема в вашем синтаксисе «содержит» и использовании двойных кавычек. Проверьте здесь ниже правильный синтаксис:

[text()[contains(.,'the deal of hosting major sporting')]]

также ошибка, которую вы получаете, означает, что элемент отсутствовал во время проверки. Это может произойти по ряду причин. Две из наиболее распространенных: 1) вы слишком рано проверили (т.е. вместо задержки следует ввести ожидание).

wait.until(ExpectedConditions.elementToBeClickable(By.id<locator>));

2) Ваш xpath неверен (скорее всего). Заметили, что вы используете //*, что означает любой узел, поэтому, насколько нам известно, вы можете указывать на несколько элементов. Если вам нужен более конкретный ответ xpath, опубликуйте снимок экрана с html-кодом элемента, который вы пытаетесь найти. Но я сделаю обоснованное предположение о нижеследующем:

(ваш способ улучшился без ")

findElement(using = 'xpath',"//*[contains(text(),'the deal of hosting major sporting')]");

и если это не сработает, сделайте следующее:

findElement(using = 'xpath',"//*[text()[contains(.,'the deal of hosting major sporting')]]");

Удачи!

person Xwris Stoixeia    schedule 21.10.2016
comment
Спасибо за ответ, веб-страница содержит контент с ** ** - person Mariselvan; 21.10.2016