Закрытие окна через некоторое время в Selenium Java - PullRequest
0 голосов
/ 23 сентября 2019

Используя Selenium, я открываю окно.Я хочу закрыть и выйти из окна после нажатия кнопки.Как я могу добиться этого в Selenium.Функция, которую я хочу выполнить перед закрытием окна ниже

 new WebDriverWait(driver, 5).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='css-vote-button pds-vote-button' and starts-with(@id, 'pd-vote-button10359300')]/span[text()='Vote']"))).click();

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

С помощью driver.close() вы можете закрыть вкладку / окно, которым управляет WebDriver.

Я использую этот код для закрытия всех вкладок / окон.

var tabs = new ArrayList<>(driver.getWindowHandles());

while(tabs.size() > 0){

    driver.switchTo().window(tabs.get(0)); //NoSuchWindowException

    driver.close();

    tabs = new ArrayList<>(driver.getWindowHandles());

}
0 голосов
/ 23 сентября 2019

Чтобы закрыть и завершить сеанс драйвера, вы можете реализовать следующее:

    Thread.Sleep(10000) // or Thread.Sleep(TimeSpan.FromSeconds(10));
    Driver.Close();
    Driver.Quit();

Thread.Sleep просто реализует 10-секундное ожидание, Driver.Close закрывает сеанс браузера, а Driver.Quit завершает экземплярWebDriver.И то, и другое необходимо для правильного завершения сеанса.

Рекомендуется заключить эти методы в блок try / finally, чтобы избежать ошибок при завершении сеанса.

            if (Driver != null)
                {
                    try { Driver?.CloseApp(); }
                    finally
                    {
                        try
                        {
                            Driver?.Quit();
                        }
                        finally
                        {
                            Driver = null;
                            DriverFactory.Current.StopAppiumServer();
                        }
                    }
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...