Как получить текст из сообщения об ошибке в поле ввода HTML5 в Selenium?

При вводе недопустимых данных в поле электронной почты запрашивается предупреждающее сообщение HTML 5.Firebug не позволяет проверить это сообщение об ошибке (Пожалуйста, введите адрес электронной почты) в двух случаях:

а. При проверке с Firebug он исчезает.

б. Щелчок правой кнопкой мыши в верхней части сообщения об ошибке не работает для проверки элемента в структуре DOM.

Ответы на вопрос(3)

В Python:

self.browser.get(self.live_server_url + registration_path)
email_input = self.browser.find_element_by_id('id_email_input')
validation_message = email_input.get_attribute("validationMessage");

http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.remote.webelement

Решение Вопроса

вы можете легко получить состояние и сообщение с помощью фрагмента JavaScript (Java):

JavascriptExecutor js = (JavascriptExecutor)driver;

WebElement field = driver.findElement(By.name("email"));
Boolean is_valid = (Boolean)js.executeScript("return arguments[0].checkValidity();", field);
String message = (String)js.executeScript("return arguments[0].validationMessage;", field);

Обратите внимание, что также возможно использоватьgetAttribute чтобы получитьvalidationMessage хотя это свойство:

String message = driver.findElement(By.name("email")).getAttribute("validationMessage");
 Rahul N07 авг. 2016 г., 12:48
Спасибо @Florent, работает нормально

Таким образом вы получите все необходимые для проверки поля html5.

String errorMessage = driver.findElement(By.id("email")).getAttribute("validationMessage");

Ваш ответ на вопрос