Невозможно ввести текстовое поле с помощью метода sendKeys. Xpath работает нормально, так как, когда я пытался нажать на текстовое поле, он работает - PullRequest
0 голосов
/ 10 января 2020
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
        WebElement External = driver.findElement(By.xpath("//input [@id ='External_Reviewer']"));
        External.click();
        External.sendKeys("kevin");

Текстовое поле представляет собой автоматическое предложение с полем выбора людей. Есть ли другой способ, кроме использования только метода "sendKeys". Заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 10 января 2020

Я столкнулся с подобной проблемой, и нажатие на текстовое поле перед отправкой ключей мне помогло

0 голосов
/ 10 января 2020

Селен исполняется так быстро. Вам просто нужно добавить некоторое ожидание после того, как щелчок выполнен, и затем использовать sendKeys ().

Итак, это будет выглядеть так:

External.click();
Thread.sleep(2000);
External.sendKeys("kevin");
0 голосов
/ 10 января 2020

, если sendKeys() не работает, вы можете попробовать с Actions классом. Пожалуйста, попробуйте следующую функцию:

public void typeTextIntoSpecialInput(WebElement elem, String input) {
    Actions actions = new Actions(driver);
    this.moveToElement(elem, true);
    actions.sendKeys(input);
    actions.build().perform();
}

Надеюсь, это поможет.

0 голосов
/ 10 января 2020

Вы можете использовать JavaScript исполнителя

External =driver.findElement(By.xpath("//input [@id ='External_Reviewer']"));
driver.executeScript("arguments[0].setAttribute('value', '"yourvalue"')", External);
...