#selenium #selenium-chromedriver
Вопрос:
Я пытаюсь получить текст сообщения, чтобы проверить это
Поэтому я получил его с помощью селектора и создал функцию для возврата текста на нем с помощью метода .text;, но когда я отлаживал, я понял, что текст всегда такой»», поэтому утверждение не сработало.
Ответ №1:
чтобы получить текст элемента, попробуйте:
element = driver.find_element_by_xpath('your_xpath')
element.get_attribute('value')
или вы могли бы прикрепить, как выглядит элемент в DOM?
Комментарии:
1. конечно, вот элемент выглядит так : <класс div=»предупреждение об опасности-предупреждение об опасности-недействительное подтверждение» стиль=»отображение: нет;»> <класс div=»предупреждение об опасности-предупреждение об опасности-недействительное подтверждение» стиль=»отображение: нет;»><класс кнопки=»закрыть» данные-закрыть=»предупреждение»><класс кнопки=»закрыть» данные-закрыть=»предупреждение»></кнопка> Неверное имя пользователя или пароль </кнопка></div>
2. и вот моя функция для возврата текстовой общедоступной строки GetwrongDataMessage() { wait = новый WebDriverWait(драйвер, интервал времени. От миллисекунд(1000)); неправильное значение dat-сообщения = подождите. До тех пор, пока ((d) =>d.findElement(По.cssSelector((«#kt_login_form >> div:n-й ребенок(1)»)))); строка x = Неправильное значение. Текст; верните неверный идентификатор. Текст; }
3. @mohamedmostafa вам нужно найти по классу «предупреждение об опасности-предупреждение об опасности-недействительное подтверждение», что-то вроде этого «//div[@class= «предупреждение об опасности-предупреждение об опасности-недействительное подтверждение»]
4. Я попробовал , но получил тот же результат: «текст всегда пустой».
5. @mohamedmostafa похоже, ты используешь java, верно? Строковое слово = драйвер.findElement(По.xpath(«//div[@class=’предупреждение об опасности-предупреждение об опасности-недействительная проверка»]»)). getText(); System.out.println(word);
Ответ №2:
попробуйте это, чтобы проверить, существует ли
driver.find_element_by_xpath("//*[contains(text(),'Invalid Username or Password')]")
или попробуйте сделать это, чтобы получить текст из какого-либо элемента
driver.find_element_by_xpath('your_span_xpath').getText()