"ElementNotInteractable element not interactable" - как решить проблему?
Использую Selenium 3.141.59. Для теста используется сайт генерации mail https://10minutemail.com/
При попытке открыть письмо, отправленное на сгенерированную почту, получаю ошибку ElementNotInteractable element not interactable. Решается Threed.sleep или implicitly wait, но хотелось бы использовать именно explicitly wait.
WebElement mailPage = new WebDriverWait(driver, 20)
.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='mail_messages_content']")));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", mailPage);
mailPage.click();
Ответы (1 шт):
Автор решения: Alexey R.
→ Ссылка
Используйте xpath //*[@id='mail_messages_content']/div[@class='mail_message'][1]. Тогда вейтер будет ждать появления хотя бы одного письма. А если придет несколько, возьмет верхнее.
То, что Вы используете сейчас присутствует в DOM и когда ни одного сообщения не пришло, поэтому вейтер заканчивает ожидание, хотя писем еще нет.