Я использую драйвер Java Selenium Chrome для очистки веб-страницы. В какой-то момент требуется номер подтверждения. Модальное диалоговое окно появляется, чтобы войти в это. HTML-код (перефразированный):
<div class="modal" role="dialog">
<button class="modal_btn_close">Close</button>
<form class="confirm_form">
<fieldset class="confirm_fieldset">
<input id="confirm_id" type="search"/>
</fieldset>
</form>
</div>
Мой код работает:
private void enterConfirmNumber (WebDriver driver, int confirmNumber)
{
try
{
WebDriverWait wait = new WebDriverWait (driver, 5);
wait.until (ExpectedConditions.presenceOfElementLocated (By.id ("confirm_id");
WebElement weConfirm = driver.findElement (By.id ("confirm_id");
System.out.println ("weConfirm = " + weConfirm);
weConfirm.sendKeys (confirmNumber);
}
catch (Exception e)
{
System.out.println ("Exception : " + e.getMessage ());
}
}
Я могу подтвердить, что WebElement найден. Я получаю сообщение об ошибке:
"Исключение: элемент не взаимодействует
(Инфо о сеансе = 72.0.3626.121)
(Информация о драйвере: chromedriver = 2.42.591088 .platform = Windows NT 6.1.7601 SP1 x86_641 Предупреждение: сервер не предоставил никакой информации о трассировке стека
и др. "
Есть идеи о том, как Selenium взаимодействует с элементами диалогового окна?