Как закрыть селен вебдрайвер, если URL не открывается

1

На эти вопросы есть много ответов (driver.close()), но ни один из них мне не помогает. Я пытаюсь открыть веб-сайт с помощью веб-драйвера селена за каждую минуту. Если веб-сайт не был открыт в течение минутного кода, нужно закрыть драйвер, но он не закрывается. Поскольку заголовок веб-страницы отображается как соединение. Пожалуйста, помогите мне работать над этим.

Теги:
selenium

1 ответ

1
Лучший ответ

Нет прямого способа выполнить это, если вы не убьете браузер и не покинете экземпляр драйвера. Самый простой способ, вероятно, состоит в том, чтобы добавить некоторую задержку с жесткой кодировкой и убить сессию с помощью JavaScript

driver.get("something");
Thread.sleep(1000);
//Alternative to javaScript is to use Actions Class and send ESC key to stop execution
//Actions actions = new Actions(driver);
//actions.sendKeys(Keys.ESCAPE);

((JavascriptExecutor) driver).executeScript("window.stop;");
driver.quit();

редактировать

Если вы хотите добавить другой способ обойти убийство сеанса, если в случае, если сайт загрузится правильно, попробуйте это

driver.get("");

 try {

     (new WebDriverWait(driver, 1)).until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.id("something we know should exist if page load");

 } catch (Exception ex) {

     //Alternative to javaScript is to use Actions Class and send ESC key to stop execution
     //Actions actions = new Actions(driver);
     //actions.sendKeys(Keys.ESCAPE);
     ((JavascriptExecutor) driver).executeScript("window.stop;");
      driver.quit();
 }
  • 0
    @ MAHI Рад, что это сработало, а также увидеть мое редактирование
  • 1
    Спасибо, это работает нормально для меня.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню