You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中使用Selenium实现机器人同步执行多组操作的方案咨询

Selenium多并发表单填报方案

实现方案

这个需求完全可落地,优先选择 concurrent.futures.ProcessPoolExecutor 进程池方案,原因是Selenium的每个浏览器实例都是独立进程,Python多线程受GIL限制不适合这种场景,进程池可以完美实现多个浏览器并行执行任务,也不需要额外修改原有业务逻辑。
如果你的人员数据量较小(比如10条以内),可以直接设置并发数等于数据量,实现同时启动对应数量的浏览器;如果数据量更大,建议限制最大并发数,避免资源耗尽。

核心实现步骤

  • 把原有单用户的填报逻辑封装成独立函数,入参为单条人员数据,函数内部独立完成WebDriver初始化、代理配置、表单填报、驱动销毁全流程,不要跨任务复用WebDriver实例,避免数据串扰
  • 调用进程池的批量任务提交方法,把所有人员数据依次传入,进程池会自动调度空闲进程执行任务

注意事项

  • 资源消耗控制:单个Chrome实例默认占用100M-500M内存,10个并发大概会占用2G-4G内存,如果并发数超过20,一定要设置max_workers上限,通常设置为CPU核心数的2-3倍即可,或者根据本机内存配置调整,避免内存不足导致进程崩溃
  • 代理配置隔离:每个WebDriver实例要单独配置对应用户的代理,不要使用全局代理设置,避免不同进程的代理配置互相覆盖;如果是需要身份认证的代理,要给每个实例单独传入认证信息
  • 反爬规避:如果目标网站有反爬机制,短时间内大量同特征的浏览器请求容易被拦截,建议给每个WebDriver配置独立的UA,或在填报步骤中加入随机延迟,避免所有进程同时提交表单
  • 资源回收:每个任务执行完成后必须调用driver.quit(),而不是driver.close(),确保浏览器进程和对应的驱动进程完全退出,避免残留僵尸进程占用系统资源
  • 数据隔离:不要在多个进程中共享可变变量,所有人员数据直接作为入参传给任务函数即可,不需要额外配置共享内存

代码示例

from concurrent.futures import ProcessPoolExecutor
from selenium import webdriver

def single_user_fill(user_data):
    # 初始化当前用户的浏览器配置
    chrome_options = webdriver.ChromeOptions()
    # 配置对应用户的代理
    chrome_options.add_argument(f'--proxy-server={user_data["proxy"]}')
    # 可根据需求添加其他配置,比如无头模式、UA配置等
    driver = webdriver.Chrome(options=chrome_options)
    try:
        # 原有单用户表单填报逻辑,直接复用即可
        driver.get("你的表单页面地址")
        # 表单输入、提交等操作省略
        print(f"用户{user_data['id']}填报完成")
    finally:
        # 强制关闭驱动,避免资源残留
        driver.quit()

if __name__ == "__main__":
    # 你的人员数据列表
    user_list = [
        {"id": 1, "proxy": "http://127.0.0.1:8080", "name": "张三"},
        # 更多用户数据
    ]
    # 最大并发数,10条以内可以直接设为len(user_list),数据量大时建议限制不超过15
    max_workers = min(10, len(user_list))
    with ProcessPoolExecutor(max_workers=max_workers) as pool:
        pool.map(single_user_fill, user_list)

可行性说明

该方案是Selenium多任务并行的标准实现方案,完全可行,不需要引入额外的第三方依赖,原有业务逻辑可以几乎零修改复用,比手动维护多进程更稳定,也自带异常处理和进程调度能力,是当前场景下最高效的实现方式。

内容的提问来源于stack exchange,提问作者Andres De Innocentiis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:21:04