我正在尝试使用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()
有谁知道可能出现什么问题?
答案 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
。