Как получить адрес электронной почты / текст, введенный в поле, когда в фрагменте кода для Java Selenium отсутствует атрибут «значение» или текст - PullRequest
1 голос
/ 20 июня 2019

Я хочу получить идентификатор электронной почты, введенный "arjun_123@gmail.com" с использованием кода Java. Я попробовал приведенные ниже коды, но он всегда возвращал ноль.

Что мне действительно нужно, так это то, что я хочу проверить, успешно ли введен адрес электронной почты. Иногда электронная почта не вводится. Поэтому я хочу проверить, является ли поле пустым или нет, и получить введенный текст.

email.getAttribute("innerText");
email.getAttribute("innerHTML");
email.getAttribute("textContent");
email.getText();

code snippet

Ответы [ 3 ]

0 голосов
/ 20 июня 2019

Вы возвращаете неправильный атрибут, значение которого вы хотите использовать:

email.getAttribute("value");
0 голосов
/ 20 июня 2019

<input> элемент

Согласно документации HTML <input> элемент представляет собой интерактивные элементы управлениядля HTML-форм для приема данных от пользователя.


Проверка данных

Проверка данных помогает нам гарантировать, что пользователь заполнил нужные поля в правильныхформат для гарантии того, что представленные данные будут успешно приняты приложением / веб-сервером.

Согласно снимку:

validate

Элемент <input> содержит проверку JavaScript с помощью атрибута data-validate, который имеет 2 суб-проверки как 'validate-email':true и 'required':true.Эти проверки Javasript проверяют текст, введенный в поле <input>.

Таким образом, после завершения проверки Javasript вы можете извлечь текст, введенный вами в поле EMAIL , т.е. arjun_123 @gmail.com вызывает WebDriverWait , используя следующее решение:

System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(email).getAttribute("value"));
0 голосов
/ 20 июня 2019

Передайте свой адрес электронной почты xpath этим методом. Вы получите введенный текст

    public String getTextofInputBox(By by) {

    JavascriptExecutor js = (JavascriptExecutor) driver; 
    String value = (String)((js).executeScript("return arguments[0].value",driver.findElement(by)));
    return value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...