Эта проблема возникает из-за следующей ситуации:
- Размер / элемент браузера отсутствует в порте просмотра
- Из-за проблемы ожидания
- На экране появляется всплывающее окно / предупреждение
Использовать следующее для размера браузера или порта просмотра:
browser.manage().window().setSize(1600, 1000);
browser.actions().mouseMove(element).click();
Примечание: Если вышеприведенное не работает, попробуйте также выполнить метод execute ()
browser.actions().mouseMove(element).click().perform();
Для вопроса ожидания:
browser.driver.sleep(3000)
Примечание. не является стандартным способом установки или реализации ожидания
Лучший способ:
WebDriverWait wait = new WebDriverWait(driver,60);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath")));
Для всплывающего окна / оповещения:
Обработка окна или оповещения, а затем выполнение требуемой операции
Обработка окна:
browser.getAllWindowHandles().then(function(handles){
var count=handles.length;
var newWindow = handles[count-1];
browser.switchTo().window(newWindow).then(function(){
//do your stuff on the pop up window
});
});
Обработка оповещения:
Принять:
browser.driver.switchTo().alert().accept();
Уволить:
browser.driver.switchTo().alert().dismiss();