2025年3月28日 星期五 甲辰(龙)年 月廿七 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

chrome报错ssl_client_socket_impl.cc报错解决

时间:06-10来源:作者:点击数:335

背景

帮公司的一个爬虫项目安装完成了google chrome headless,其在使用selenium +chrome爬取内部的一个合作厂家的站点信息时,出现了无法获取内容的情况,同时也没有明显的报错信息。使用内部httpd服务搭建的测试页,可以正常获取。

解决方法

帮其分析后,直接使用chrome –headless –disable-gpu –dump-dom https://www.testsite.com/时,发现报错:ERROR:ssl_client_socket_openssl.cc(1158)] handshake failed; returned -1, SSL error code 1, net_error -100 。这个报错信息就比较直观了,是SSL报错,也就是说明和HTTPS相关,通过检索相关信息,发现可以加两条即可解决问题:

  • options.add_argument('--ignore-certificate-errors') #主要是该条
  • options.add_argument('--ignore-ssl-errors')

Python

对应的完整的采集测试代码为:

  • from selenium import webdriver
  • chrome_options = webdriver.ChromeOptions()
  • chrome_options.add_argument('--no-sandbox')
  • chrome_options.add_argument('--headless')
  • chrome_options.add_argument('--disable-gpu')
  • chrome_options.add_argument('--ignore-certificate-errors')
  • browser = webdriver.Chrome(options=chrome_options)
  • browser.get('https://www.cdsy.com.cn')
  • data = browser.page_source
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门