LexxXell
@LexxXell
Программист и немного IT-журналист

Как отключить автоматическое закрытие сессии в Selenium+Firefox?

Делаю парсер-бота, работает на Selenium+Firefox. Необходимо постоянно работать из-под одной сессии, но при простое спустя какое-то время канал закрывается, а вместе с ним и сессия:
selenium_1  | 12:49:14.243 INFO [ActiveSessions$1.onStop] - Removing session 1bbe1550-852e-4602-bfc2-532d67d3fbbf (org.openqa.selenium.firefox.GeckoDriverService)
selenium_1  | 1620737354261     Marionette      INFO    Stopped listening on port 35195
selenium_1  | 
selenium_1  | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost


Как отключить автоматическое закрытие сессии, или как возобновить закрытую сессию?
  • Вопрос задан
  • 33 просмотра
Решения вопроса 1
LexxXell
@LexxXell Автор вопроса
Программист и немного IT-журналист
Как вариант решения - использовать созданный заранее профиль (в котором уже пройдена аутентификация в нужном сервисе), и подключать его при запуске:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.options import Options as FirefoxOptnions

webdriver_host = "http://127.0.0.1:4444/wd/hub"
desired_capabilities = DesiredCapabilities.FIREFOX

options = FirefoxOptnions()
# Вот тут указываем путь к папке профиля
options.profile = "../profiles/c63u9jz2.default-release-1" 

driver = webdriver.Remote(
    webdriver_host,
    desired_capabilities,
    options=options,
)


Это позволит возобновлять сессию при перезапусках.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы