暂时解决python Selenium ChromeDriver 出现ssl_client_socket_impl.cc(985) 偶尔出错兼脚本中断的方案:
chrome_options.add_argument('--ignore-certificate-errors') #忽略CERT证书错误
chrome_options.add_argument('--ignore-ssl-errors') #忽略SSL错误
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--ignore-certificate-errors-spki-list')
chrome_options.add_argument('--ignore-urlfetcher-cert-requests')
capability = chrome_options.to_capabilities()
capability["acceptInsecureCerts"] = True
capability['acceptSslCerts'] = True
driver = webdriver.Chrome(service=chromedriver, options=chrome_options, desired_capabilities=capability)
网上好多此类解决方案(但在我环境只解决了SSL问题),但一样会出现脚本执行中断(多个脚本同时执行时,会偶尔出现中断)的情况,后面发现在主程序中增加了 os.environ['TZ'] = 'Asia/Shanghai' ,目前会出现SSL错误,只能忽略并执行下面的脚本而不中断。
后续:
今天代码运行了一天,发现出现新的错误:
selenium\webdriver\remote\webdriver.py", line 449, in get self.execute(Command.GET, {"url": url})
脚本也会中断,现在在自己代码的get(url)后面把原来的time.sleep(0.25),改为time.sleep(1)再运行一天看看结果。
查了资料后是session造成,因为我一次性获取的网址50个以上,后面改了每获取10个就有driver.quit()一次。目前基本解决。