Повторное использование серсий веб-драйверов?

Я следовал этому Повторное использование существующей сессии браузера в 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 сезона, затем я использую один из них.

Сейчас у меня слишком много других вещей, которые мне, возможно, придется объяснить.

  1. Например, чтобы предотвратить возможность нажатия двумя пользователями одной и той же кнопки в одно и то же время, я создал базу данных data_base, в которой есть драйвер session_id и поле под названием is_used и переключатель False/True.
  2. Также, когда пользователю нужны данные с сайта, я фильтрую базу данных, которая у меня есть, следующим образом DriverSesions.objects.filter(is_used=False)

вопрос

  1. Как я могу использовать эту статью без потери возможности запуска новой сессии?
  2. Есть ли альтернативы?
Вернуться на верх