Многопоточность Python Selenium, «отдельный экземпляр WebDriver»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Многопоточность Python Selenium, «отдельный экземпляр WebDriver»

Сообщение Anonymous »


Я не понимаю, что они подразумевают под "отдельным экземпляром WebDriver", чтобы сделать его потокобезопасным. Означает ли это, что для каждого потока в моем коде я буду использовать разные веб-драйверы?

Например, если у меня есть 3 потока, это означает, что мне придется добавить в проект 3 разных веб-диска, чтобы использовать каждый из них отдельно, это правда?

Вот что люди говорят о потокобезопасности, и я не понимаю, почему:

импортировать потоки из веб-драйвера импорта селена защита thread_function(): # Инициализируем новый экземпляр WebDriver для этого потока драйвер = вебдрайвер.Chrome() # Выполните действия с этим экземпляром WebDriver driver.get("https://www.example.com") # ... # Закройте экземпляр WebDriver, когда закончите драйвер.выйти() # Создайте несколько потоков, каждый со своим WebDriver thread1 = threading.Thread(target=thread_function) thread2 = threading.Thread(target=thread_function) # Запускаем потоки поток1.start() поток2.start() # Подождем завершения потоков поток1.join() поток2.join() и вот что я пытаюсь сделать, правильно ли я делаю?

импортировать потоки из веб-драйвера импорта селена из selenium.webdriver.common.keys импортировать ключи # Определим функцию для первого потока защита thread_one(): # Инициализируем экземпляр WebDriver для первого потока драйвер1 = веб-драйвер.Chrome() # Перейдите на веб-сайт и взаимодействуйте с ним driver1.get("https://www.example.com") search_box = driver1.find_element_by_name("q") search_box.send_keys("Пример") search_box.send_keys(Ключи.ВОЗВРАТ) # Закрываем браузер для первого потока driver1.quit() # Определим функцию для второго потока защита thread_two(): # Инициализируем экземпляр WebDriver для второго потока драйвер2 = веб-драйвер.Chrome() # Перейдите на другой веб-сайт и взаимодействуйте с ним driver2.get("https://www.example.org") ссылка = driver2.find_element_by_link_text("Ссылка") ссылка.клик() # Закрываем браузер для второго потока driver2.quit() # Создаем два потока thread1 = threading.Thread(target=thread_one) thread2 = threading.Thread(target=thread_two) # Запускаем оба потока поток1.start() поток2.start() # Подождем завершения обоих потоков поток1.join() поток2.join() print("Оба потока завершены.") Как убедиться, что мой веб-диск является потокобезопасным
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Selenium webdriver: изменение флага navigator.webdriver для предотвращения обнаружения селена.
    Anonymous » » в форуме JAVA
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Исключение Selenium WebDriver. HTTP-запрос к удаленному серверу WebDriver для URL-адреса xyz. Время ожидания истекло чер
    Anonymous » » в форуме C#
    0 Ответы
    44 Просмотры
    Последнее сообщение Anonymous
  • WebDriver не может быть преобразован в тип в selenium webdriver
    Anonymous » » в форуме JAVA
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • WebDriver не может быть преобразован в тип в selenium webdriver
    Anonymous » » в форуме JAVA
    0 Ответы
    44 Просмотры
    Последнее сообщение Anonymous
  • WebDriver не может быть преобразован в тип в selenium webdriver
    Anonymous » » в форуме JAVA
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»