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