python - 如何在 Python 中使用多处理和 Selenium
问题描述
我正在尝试在 python 中使用 selenium 进行多处理。我的代码如下:
from selenium import webdriver
from multiprocessing import Pool
import xlwings as xw
driver = webdriver.Chrome('chromedriver.exe')
driver.get("https://example.com")
wb = xw.Book('my_file.xlsm')
sht = wb.sheets["Sheet1"]
final_list = []
search = driver.find_element_by_id("ContentPlaceHolder1_txtByName")
for item in search:
z = item.find_element_by_class_name("valuetext")
info = z.find_element_by_tag_name("span")
final_list.append(info.text)
def automate(num):
col = num
list_item = final_list[num]
sht.range(1, col).value = each
if __name__ == '__main__':
p = Pool(processes=4)
data = p.map(automate,range(1,20))
我遇到的问题是 4 个进程中的每一个都重新打开了网页,我不明白为什么。如果p.map
仅针对该automate
功能,那么为什么其余代码要为每个进程运行?
我还是多处理的新手,所以不确定它是否就是这样工作的。有没有另一种方法可以确保进程只针对函数本身,或者有没有办法可以使用线程?
解决方案
推荐阅读
- machine-learning - 我们实际上在机器学习中研究什么?
- cassandra - 如何使用 datastax 驱动程序创建 Cassandra 连接池
- javascript - 在事件侦听器中设置的参数化函数调用背后是否存在有效目的?
- visual-studio - Visual Studio 2010:将 Microsoft SQL CE 3.5 SP2 添加到 InstallShield 先决条件
- c# - 如何将“AdaptiveActionSet”放入“AdaptiveColumn”?
- sql - 如何从 mongodb 迁移到 sql 数据库
- solidity - 如何测试具有可靠返回值的函数的异常?
- fastapi - FastAPI:修改响应代码,同时保留自动验证
- xml - Oracle 12.2 - 尝试使用 XMLTYPE 列对表进行分区时出现 ORA-14427
- javascript - Node.js:在下载图像之前从请求标头中获取图像文件扩展名