python - 多处理让每个工作人员的会话保持打开状态
问题描述
我正在使用 selenium 创建一个 chrome 驱动程序,获取一个链接,然后提取一些信息。
我想循环浏览网站中类似页面的列表。我尝试使用pool.map(run_func, website_list)
将工作拆分为单独的进程,但使用这种方法,每个工作人员一次获取一个元素,并且webdriver.Chrome()
必须在内部调用run_func
。
有没有一种简单的方法可以webdriver.Chrome()
为每个保持打开状态的工作人员分配一个实例,而不必在函数内部打开和关闭它?
代码看起来像这样:
def run_func(elem):
driver = webdriver.Chrome(options=chrome_options, executable_path='./chromedriver')
searcher(driver, elem) # Some other function that does stuff on the website
driver.close()
def thread_cycle():
pool = Pool(processes = 10)
pool.map(run_func, website_list)
def main():
thread_cycle()
解决方案
推荐阅读
- lua - 使用 neovim/nvim-lspconfig 将 Neovim 设置为自动完成时遇到问题
- c# - 在游戏中上传和下载小文件到云盘?(Unity3D)
- python - 此后端不支持绝对路径
- material-ui - 如何将按钮标签放置在材质 Ui 的卡片中心?
- python - Css 文件未在 Python Anywhere 上加载
- reactjs - 期望一个字符串,得到对象 gatsby-plugin-prettier-eslint Gatsby
- r - Rshiny侧边栏面板和图像位置问题问题
- amazon-web-services - 如何更改 cloudwatch 代理记录区域?
- unity3d - 如何在不影响子游戏对象的情况下更改父游戏对象的比例?
- tinymce - 当我想显示这些信息时,tinymce 出现问题