为什么要用seleniumwire而不用原生的selenium
最近需要抓取一个页面的信息,但是页面需要登录,登录后会默认生成一个授权码,这个默认的授权码是在Header里的,所以我需要selenium在模拟登录的时候能够获取到这个授权码,在python的包里面的找来找去就找到了seleniumwire,安装方法就是
pip install selenium-wire
但是这个包在请求的时候不会包错,当我发送登录的时候,就会报502 bad gate way,后来,我在代码中加入下面的两行,输出包的系统日志
import logging
logging.basicConfig(level=logging.DEBUG)
发现报了一个证书认证错误,错误如下
经过反复的搜索,发现这个网站需要开启一个个人的证书认证,可能没有证书认证才导致ssl.SSLCertVerificationError,所以看了官方的教程,可以人为的关闭这个认证,不验证就不会报凑,所以采用下面的代码就可以做到。
browser = webdriver.Firefox(executable_path='D:/bin/geckodriver.exe', seleniumwire_options={'verify_ssl': False})
至此问题解决,记录一下这个错误,希望能帮助到遇到这个问题的人。