Повторное использование серсий веб-драйверов?
Я следовал этому Повторное использование существующей сессии браузера в selenium
Но когда я использовал следующий код, я больше не могу создавать новые сессии (driver = webdriver.Chrome(chromedriverPath)), потому что seision_id всегда один и тот же
from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver
# Save the original function, so we can revert our patch
org_command_execute = RemoteWebDriver.execute
def new_command_execute(self, command, params=None):
if command == "newSession":
# Mock the response
return {'success': 0, 'value': None, 'sessionId': session_id}
else:
return org_command_execute(self, command, params)
# Patch the function before creating the driver object
RemoteWebDriver.execute = new_command_execute
- Goals на моем сайте у меня слишком много пользователей, поэтому я хочу предотвратить использование слишком большого количества запросов, насколько это возможно. Следовательно, я пытаюсь обедать 3 или 4 сезона, затем я использую один из них.
Сейчас у меня слишком много других вещей, которые мне, возможно, придется объяснить.
- Например, чтобы предотвратить возможность нажатия двумя пользователями одной и той же кнопки в одно и то же время, я создал базу данных data_base, в которой есть драйвер
session_idи поле под названиемis_usedи переключатель False/True. - Также, когда пользователю нужны данные с сайта, я фильтрую базу данных, которая у меня есть, следующим образом
DriverSesions.objects.filter(is_used=False)
вопрос
- Как я могу использовать эту статью без потери возможности запуска новой сессии?
- Есть ли альтернативы?