与Selenium开设超过9个会议

时间:2017-12-31 21:08:31

标签: python google-chrome selenium selenium-chromedriver

我正在尝试使用Selenium一次访问一个有几十个会话的网站,但每当我尝试设置超过9个会话时,它会说“chromedriver.exe没有响应”并且会话开始关闭。

这是我的代码:

from selenium import webdriver
import time

url = "website URL"
amount = 36

def generateBrowsers():
    for x in range(0, amount):
        driver = webdriver.Chrome(executable_path="C:/Users/user/Documents/chromedriver_win32/chromedriver.exe")
        driver.get(url)
        time.sleep(3)

generateBrowsers()

有谁知道可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

逻辑上,您的代码块有无错误

但是,当您尝试打开 36个会话时,您需要考虑以下事实:

  • 每次致电 driver = webdriver.Chrome(executable_path="C:/Users/user/Documents/chromedriver_win32/chromedriver.exe") 都会启动:

    1. A new WebDriver instance
    2. A new Web Browser instance
    
  • 每个 WebDriver 实例和 Web Browser 实例都需要占用一定数量:

    1. CPU
    2. Memory
    3. Network
    4. Cache
    

现在,当您从系统中执行Test Suite时,其中还运行了很多其他Applications(其中一些可能在Start Up上)尝试在可用的内容纳CPU Memory Network Cache 。因此,只要上述参数的使用超出阈值,下一个新的 chromedriver.exe chrome.exe 将无法正确生成。在您的情况下, chromedriver.exe 无法生成。因此,您会看到错误:

chromedriver.exe is not responding

解决方案

如果您需要在需要使用时生成 36个会话

  • Selenium in Grid Configuration Selenium Grid Hub Node 组成,您将能够以Nodes
  • 的数量分发所需数量的会话