同时优雅地运行100个Selenium脚本

问题描述

我已经搜索搜索了,但是似乎找不到我的问题的答案。

我需要同时运行多达100个Selenium脚本,其中每个脚本:

  • 具有自己的唯一代理,以避免网络流量
  • 大约需要30秒才能完成

所有脚本都需要在2分钟内完成,例如如果我从6:00开始运行脚本,则所有脚本应在6:02之前完成。

我看过线程:

  • 问题是,有100个chrome驱动程序线程会占用cpu

我看过多处理

  • 使用多处理程序需要100个脚本

我研究了并发功能

  • 100个脚本还需要很长时间才能使用并发功能

无法同时优雅地运行100个Selenium脚本,或者至少在2分钟内运行它们。

这是示例脚本的样子:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import webdriverwait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time

def run():
    options = webdriver.ChromeOptions()
    options.add_argument('--headless',)
    self.browser = webdriver.Chrome('chromedriver.exe',options=options)
    self.browser.get('https://www.wikipedia.org/')

    webdriverwait(self.browser,10).until(
        EC.presence_of_element_located((By.ID,"searchInput"))).send_keys('Python',Keys.ENTER)
    time.sleep(3)
    print('Moved To Next Section ')

    webdriverwait(self.browser,10).until(
        EC.presence_of_element_located((By.PARTIAL_LINK_TEXT,"Computing"))).click()
    time.sleep(3)
    print('Moved To Next Section ')

    webdriverwait(self.browser,"People"))).click()
    time.sleep(3)

    print('Moved To Next Section ')
    webdriverwait(self.browser,"Roller coasters"))).click()
    time.sleep(3)

    print('Moved To Next Section ')
    webdriverwait(self.browser,"Vehicles"))).click()
    time.sleep(3)

    print('Moved To Next Section ')
    webdriverwait(self.browser,"Weaponry"))).click()
    time.sleep(100)


run()


 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)