gpt4 book ai didi

python - Selenium Threads : How to open the same browser in multiple threads? 为每个浏览器使用唯一的代理

转载 作者:行者123 更新时间:2023-11-28 22:31:12 24 4
gpt4 key购买 nike

import threading

def rand_function1():
#random actions

def rand_function2():
#random actions

def main()
rand_function1
rand_function2
return


if __name__ == '__main__':
url_list = "https://www.rand_urls.com/"
driver = webdriver.Firefox()
for t in range(10):
t = threading.Thread(target=main)
t.start()

我有一个简单的程序,我正在尝试使用 10 个 Firefox 网络驱动程序打开 url。但是,它所做的一切都使用一个浏览器,并继续循环通过 url 认为是单个浏览器。我将为每个浏览器使用唯一的代理,因此无法打开标签页。

如何让 n 个线程使用其自己的 Firefox 网络驱动程序单独运行主要功能?

最佳答案

根据 thisthis上一个问题,selenium 不是线程安全的

您应该在主线程中创建驱动程序,以便每个线程都有自己的驱动程序。

import threading

def rand_function1():
#random actions

def rand_function2():
#random actions

def main()
# use a different driver for each thread
driver = webdriver.Firefox()
rand_function1
rand_function2
return


if __name__ == '__main__':
url_list = "https://www.rand_urls.com/"
for t in range(10):
t = threading.Thread(target=main)
t.start()

关于python - Selenium Threads : How to open the same browser in multiple threads? 为每个浏览器使用唯一的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41716157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com