
本文旨在帮助解决在使用Selenium和Python启动Chrome浏览器时遇到的SSL证书验证失败问题。通过分析错误堆栈信息,我们发现问题源于webdriver_manager尝试下载ChromeDriver版本信息时无法验证SSL证书。本文将提供一种简便的解决方案,利用Selenium Manager自动管理ChromeDriver,避免手动配置和潜在的SSL证书问题。
问题分析
从提供的错误信息可以看出,问题的根源在于Python的requests库在尝试访问googlechromelabs.github.io以获取最新的ChromeDriver版本信息时,遇到了SSL证书验证失败的错误:
requests.exceptions.SSLError: HTTPSConnectionPool(host='googlechromelabs.github.io', port=443): Max retries exceeded with url: /chrome-for-testing/latest-patch-versions-per-build.json (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)')))
这通常发生在系统缺少必要的CA证书,或者证书过期等情况下。虽然可以尝试手动安装或更新CA证书,但更简单且推荐的解决方案是利用Selenium Manager。
解决方案:使用 Selenium Manager
Selenium Manager是Selenium官方提供的工具,可以自动管理浏览器驱动程序,无需手动下载和配置。从Selenium 4.6版本开始,Selenium Manager已经集成到Selenium库中,可以自动下载与浏览器版本兼容的ChromeDriver。
立即学习“Python免费学习笔记(深入)”;
步骤:
确保安装了最新版本的Selenium:
pip install selenium --upgrade
简化代码,直接使用webdriver.Chrome():
移除webdriver_manager相关的代码,直接使用webdriver.Chrome()。Selenium Manager会自动处理ChromeDriver的下载和配置。
from selenium import webdriverdriver = webdriver.Chrome()driver.get("https://www.google.com")driver.maximize_window()driver.quit()
代码解释:
from selenium import webdriver: 导入Selenium的webdriver模块。driver = webdriver.Chrome(): 实例化Chrome浏览器驱动。Selenium Manager会自动查找或下载合适的ChromeDriver。driver.get(“https://www.google.com”): 打开Google网站。driver.maximize_window(): 最大化浏览器窗口。driver.quit(): 关闭浏览器。
注意事项:
确保你的Chrome浏览器已经安装。Selenium Manager需要能够访问网络以下载ChromeDriver。如果你的网络环境需要代理,需要配置相应的代理设置。
总结
通过使用Selenium Manager,可以避免手动管理ChromeDriver带来的麻烦,并有效解决SSL证书验证失败等问题。这种方法简化了Selenium的配置过程,提高了自动化测试的效率和稳定性。在编写Selenium测试脚本时,推荐使用Selenium Manager来管理浏览器驱动程序。
以上就是解决Selenium Python启动Chrome浏览器SSL证书验证失败问题的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1373529.html
微信扫一扫
支付宝扫一扫