Я думаю, проблема в вашем синтаксисе «содержит» и использовании двойных кавычек. Проверьте здесь ниже правильный синтаксис:
[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