Selenium python как не закрывать браузер
4 года назад
Nikolai Gagarinov
Ответы
Для того чтобы не закрывать браузер после выполнения тестов на Selenium WebDriver с помощью Python, можно воспользоваться методом driver.quit(). Этот метод закрывает все окна и завершает сеанс WebDriver, однако, если вы не хотите закрывать браузер после выполнения тестов, вместо этого можно воспользоваться методом driver.close(). Этот метод закрывает только текущее окно браузера, но продолжает работу сеанса WebDriver.
Таким образом, чтобы не закрывать браузер после выполнения тестов, можно использовать метод driver.close() вместо driver.quit(). Также, можно установить флаг detach=True при создании драйвера, чтобы предотвратить автоматическое закрытие браузера после выполнения тестов:
Таким образом, браузер останется открытым после выполнения тестов, и вы сможете продолжать работу с ним вручную
2 года назад
Maksim Litvinov
Chrome закрывается, когда скрипт на Selenium заканчивает работу: вместе с программой завершается и драйвер. Чтобы окно осталось открытым, передайте опцию detach:
И уберите из кода driver.quit() и driver.close():
driver.close()закрывает текущую вкладку;driver.quit()закрывает все окна и завершает сессию.
Опция detach работает в Chrome и Edge. В Edge используйте webdriver.EdgeOptions().
Firefox и другие браузеры
У Firefox такой опции нет. Задержите завершение скрипта:
Подключиться к уже открытому Chrome
Удобно при отладке: вы вручную логинитесь на сайте, а скрипт продолжает работу в том же окне. Запустите Chrome с портом отладки:
И подключитесь к нему:
На Windows путь к браузеру обычно "C:\Program Files\Google\Chrome\Application\chrome.exe".
В тестах браузер лучше закрывать
В автотестах на pytest оставлять браузер открытым не стоит: процессы копятся и съедают память. Закрывайте его в фикстуре, а для отладки ставьте точку останова:
Запуск pytest --pdb остановит тест на ошибке, и браузер останется открытым, пока вы смотрите на страницу.
Автотесты на Selenium и pytest разбирают в курсе «Selenium на Python».
24 дня назад
Никита Вихров






