多处理或并行调用某些函数的最佳方式



我正在开发一个工具,使用Selenium Web驱动程序打开Mozilla Firefox的一些实例。有三个实例在同一时间加载同一页面。由于使用Web驱动程序加载页面的速度较慢,我希望在所有浏览器中并行加载相关页面。

我今天的代码是这样的:

browser1 = webdriver.Firefox()
browser2 = webdriver.Firefox()
browser3 = webdriver.Firefox()
browser1.get('http://google.com')
browser2.get('http://google.com')
browser3.get('http://google.com')

例如,在该代码中,browser2将仅在browser1完成加载之后加载。我正在寻找一种并行加载这三种浏览器的方法。

注意-我需要加入它们,这意味着只有当三个浏览器成功加载时,代码才会继续

感谢

我不确定这是否有效(现在不能检查),但你应该试试:

from Multiprocessing import Process
def first_browser():
  browser1 = webdriver.Firefox()
  browser1.get('http://google.com')
def second_browser():
  browser2 = webdriver.Firefox()
  browser2.get('http://google.com')
def third_browser():
  browser3 = webdriver.Firefox()
  browser3.get('http://google.com')
p1 = Process(target=first_browser)
p2 = Process(target=second_browser)
p3 = Process(target=third_browser)

最新更新