小编Aus*_*eed的帖子

如何通过 Python Selenium 使用多进程池

我有一些代码需要从数百个网页中获取数据,我想通过为其运行多个 Selenium Chrome 浏览器实例来加快速度。例如我这里有这个代码:

from selenium import webdriver
from multiprocessing import Pool
from tkinter import *

#initiate browser
def browser():
    global driver
    driver = webdriver.Chrome(r"C:\Users\areed\Desktop\p\chromedriver.exe")
    return driver

#test link
def test():
    links = [link1.com, link2.com, link3.com, link4.com]
    browser()
    for l in links:
        driver.get(l)
        dostuff(driver)

#Scrape Data
def dostuff(driver):
    print('doing Stuff')

#multiprocess Function      
def multip():
    pool = Pool(processes=4)
    pool.map(test())

#tkinter Window
if __name__ == "__main__":  
    win = Tk()
    win.title("test")
    win.geometry('300x200')
    btn = Button(win, text="Tester", command=multip)
    btn.pack()
    win.mainloop()
Run Code Online (Sandbox Code Playgroud)

我怎样才能让这段代码运行多个 selenium chrome 浏览器?这段代码在不添加多进程的情况下工作得很好。有人可以向我解释一下如何解决这个问题吗?谢谢!

python selenium pool multiprocess

0
推荐指数
1
解决办法
5040
查看次数

标签 统计

multiprocess ×1

pool ×1

python ×1

selenium ×1