Как использовать sendKeys (Keys.TAB) + sendKeys («текст») для формы обратной связи - PullRequest
0 голосов
/ 16 июня 2019

Как заполнить несколько полей в столбце с помощью команд sendKeys(Keys.TAB) и sendKeys("text").Например: у нас есть 3 поля в форме «Свяжитесь с нами» внизу страницы:

  • Имя
  • Электронная почта
  • Кнопка «Отправить сообщение».

Я прокрутил страницу до поля «Имя» и заполнил «Имя», вкладку и хочу заполнить другой текст в следующих полях (электронная почта), используя sendKeys(Keys.TAB) Вот как я пыталсяэто:

WebElement element = driver.findElement(By.cssSelector("#contact > div > div.main > div.form-block"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);

WebElement webElement = driver.findElement(By.xpath("//*[@id=\"edit-submitted-name\"]"));
webElement.sendKeys("Name");
webElement.sendKeys(Keys.TAB);
webElement.sendKeys("email");
webElement.sendKeys(Keys.TAB);
webElement.sendKeys("Message");

Но оно заполняет все тексты в первом поле, потому что webElement перемещается в первое поле («Имя»).

Я знаю, что могу использовать driver.FindElement(By.xpath(## next field ##)).sendKeys("text"); НоМне нужно именно использовать кнопку TAB для тестирования.Может быть, в Java существует команда, чтобы набирать текст в сфокусированном поле?Я не могу найти это.

1 Ответ

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

Вы должны использовать класс действий Selenium и создать серию действий, чтобы использовать вкладку. Также попробуйте все шаги вручную, нажав на вкладку. иногда вкладка не работает на веб-страницах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...