【发布时间】:2018-12-20 15:15:13
【问题描述】:
我刚刚学会了 Selenium 来抓取一些 Scrapy 无法获取的数据。我从不同的机器人制作了不同的脚本,它们分别按预期运行。
两个浏览器一个接一个打开,而我想让它们同时运行。有没有一种简单的方法可以做到这一点?感谢您的帮助!
编辑:
如前所述,我一直在尝试使用多处理进行此操作。但不幸的是,它当时只运行一个脚本,同时打开了两个 selenium 窗口。一个保持不活动。如果你想看看,这是我的代码:
u = UBot()
google = GoogleBot()
list_test = [[u.main(), google.main()]]
processes = []
for test in list_test:
p = multiprocessing.Process()
processes.append(p)
p.start()
编辑 2:
我可以解决它并在下面发布代码!
【问题讨论】:
-
我看过这个话题,但我现在关心的并不是加快执行速度,只是能够从一个主脚本并行启动几个 selenium 机器人
-
我的错。我收回了国旗。同时,您查看过stackoverflow.com/questions/30213888/… 吗?它包含一个基于
multiprocessing的方法。 -
您将需要一个异步/线程解决方案,因为对 webdriver 的调用将阻塞,直到它完成。
-
线程或多处理可以工作