一、验证码常用的处理方式
①、说明:Selenium中并没有对验证码处理的方法,在这里我们介绍一下针对验证码的几种常用处理方式
②、方式:
1)、去掉验证码(测试环境下采用)
2)、设置万能验证码(生产环境和测试环境下-采用)
3)、验证码识别技术(通过Python-tesseract来识别图片类型验证码;识别率太低)
4)、记录cookie(通过记录cookie进行跳过登陆)<推荐>
二、cookie
①、 cookie的产生
1)、 cookie是由Web服务器生成的,并且保存在用户浏览器上的小文本文件,它可以包含用户相关的信息。 2、cookie数据格式:键值对组成(python中的字典) 3、cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个cookie 数据4、cookie使用:当浏览器再次请求该网站时,浏览器把请求的数据和cookie数据一同提交给服务器,服务 器检查该cookie,以此来辨认用户状态。
②、cookie应用场景
方法:
1、get_cookie(name) —>获取指定cookie
name:为cookie的名称
2、get_cookies() —>获取本网站所有本地cookies
3、add_cookie(cookie_dict) —>添加cookie
cookie_dict:一个字典对象,必选的键包括:“name”and“value”
执行代码:
from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get('http://www.baidu.com')driver.maximize_window()# 获取浏览器的cookiedriver.add_cookie({"name":"BDUSS","value":"xTR3VLMGlUaDRUc1d-YnNXZDBBMkkwdjRZVTB5TS1WWmpESDRwd0ZWdVRKaVJpRVFBQUFBJCQAAAAAAQAAAAEAAACCpKo-d3FjMTExMTk5OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJOZ~GGTmfxhME"})time.sleep(3)# 刷新浏览器driver.refresh()time.sleep(3)# 关闭浏览器driver.quit()
注意:此处的cookie需要你先登陆账号后获取。