Есть ли способ дождаться завершения SendKeys ()? - PullRequest
0 голосов
/ 28 марта 2019

В настоящее время в наших рамках у нас есть функция, которая выполняет SendKeys.До фактического запуска SendKeys мы запрашиваем значение, а после sendkeys мы проверяем, изменилось ли это значение, чтобы вызвать функцию javascript для установки значения поля.Это в том случае, если метод SendKeys не работал (у нас был конкретный случай).

Дело в том, что все происходит так быстро, что когда он запрашивает значение поля после метода SendKeys, онне изменился, поэтому он все равно запускает функцию javascript.

Есть ли способ избежать этого, не включающий в него Thread.Sleep ()?

1 Ответ

0 голосов
/ 28 марта 2019

Кроме того, вы можете попробовать Actions класс для отправки текста, см. Ниже фрагмент кода Java:

public static void enterTextboxValue(WebDriver driver, WebElement element, String value) {

    Actions navigator = new Actions(driver);
    navigator.click(element).sendKeys(Keys.END).keyDown(Keys.SHIFT).sendKeys(Keys.HOME).keyUp(Keys.SHIFT)
            .sendKeys(Keys.BACK_SPACE).sendKeys(value).perform();

    if (element.getAttribute("value").contains(value)) {
        System.out.println("Value [ " + value + " ] entered");
    } else {
        System.out.println("Unable to enter the value");
    }
} 
...