python3 多进程 selenium 不启动浏览器 同时执行多个自动化任务

下载依赖包:

pip insall selenium

备注: 该脚本使用的selenium 版本是: 4.7.2

直接贴代码:

import os
import time
import random
from multiprocessing import Pool

from selenium import webdriver
from selenium.webdriver.common.by import By


def handle_baidu(search_key="selenium"):
    # 加载启动项
    option = webdriver.ChromeOptions()
    option.add_argument('headless')

    driver = webdriver.Chrome(chrome_options=option)
    driver.get("https://www.baidu.com/")
    driver.find_element(By.ID, 'kw').clear()  # 清除文本框中内容
    driver.find_element(By.ID, 'kw').send_keys(search_key)
    driver.find_element(By.ID, 'su').click()  # 点击搜索按钮

    time.sleep(5)
    driver.save_screenshot(search_key + '.png')
    time.sleep(1)
    print('process: ' + search_key)

    driver.quit()


def pool_run(pid):
    print('进程 %s (Pid:%s) 运行,进程生成时间:' % (pid, os.getpid()), time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    time.sleep(random.random() * 3)
    print('进程 %s 运行结束' % id)


if __name__ == '__main__':
    print('当前进程ID:%s' % os.getpid())
    p = Pool(processes=5)
    # for i in range(50):
    # for i in ['王来春', '董明珠', '赵宁', '孟晚舟', '张楠', '戴珊', '程雪', '简军', '曹晓春', '赵燕', '范红卫', '屈翠容', '陶海虹', '钟慧娟', '郑北', '张文翊', '王爱军', '许冉', '姜瑾华', '宗馥莉', '周震华', '王烨', '罗燚', '周群飞', '杨利娟', '葛越', '杨惠妍', '王臻', '王静瑛', '钱静红', '谢其润', '吴兰兰', '花

你可能感兴趣的:(数据处理,selenium,自动化,python)