在一个自动化的过程中,我正在使用新的无头 Chrome selenium
,大约 5-10% 的比例,我得到了一个WebDriverException
.
此函数在Chrome
调用时引发异常:
def get_headless_browser(maximize_window=True):
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-gpu")
if maximize_window:
chrome_options.add_argument("--start-fullscreen")
chrome_options.add_argument("--window-size={width},{height}".format(width=DEFAULT_RES[0],
height=DEFAULT_RES[1]))
chrome_options.binary_location = CHROME_BINARY
browser = webdriver.Chrome(executable_path=CHROMEDRIVER,
chrome_options=chrome_options) # <-- EXCEPTION RAISED HERE
if maximize_window:
browser.maximize_window()
return browser
我得到的例外:
WebDriverException:消息:会话未从无法访问的 chrome 创建异常(会话信息:无头 chrome=59.0.3071.115)
(驱动程序信息:chromedriver=2.30.477691(6ee44a7249x639z0703f292d314edf05c1531b57),平台=Linux 4.4.0-1020-aws x86_64)
另外,我不得不提一下,这段代码运行在一个 36 核 EC2 实例上,并且这个函数使用所有内核并行运行。我试过把它切成 16/8 核,同样的问题发生了。
异常层次结构:
- 错误:JoblibWebDriverException
- (子进程回溯) WebDriverException (上面的异常)