1.解决验证码问题的常⻅⼏种⽅式
1) Debug模式启动浏览器(浏览器复⽤):
原理:浏览器是有缓存记录的,只需要 沿⽤已经保存有登录记录的浏览器 进⾏后续的操作就⾏
2)识别法:
原理:对验证码的图⽚进⾏字符识别,其原理就是通过 识别算法解析图⽚ ,其解析的精准度取决于图⽚的复杂程度注: 精准度不⾼,如果图⽚越复杂,失败率越
3)接⼝法:
原理:开发⼈员提供⼀个测试接⼝,通过这个 接⼝获取 到图⽚验证码⽐如:在服务端提供⼀个可被客户端使⽤的接⼝,只要客户端传递过来⾃⼰的SessionID,该接⼝就返回此时正确的Session
注: 新增了接⼝,存在安全的问题,⼀般只在测试环境使⽤
4)移除法:
跟开发协商,在测试的时候,直接 关闭验证码功能
5)暗号法:
跟开发协商,提供 万能验证码 来进⾏访问(只建议在测试环境使⽤,涉及到安全问题)
6) Cookie跳过验证码:
原理:⼿动登录,然后获取登录成功的cookie,在⽤代码做后续操作的时候,把 cookie附带 进去,已达到鉴权的⽬的
注: cookie是有过期时间的,可以跟开发协商延⻓时间等
2.Debug模式启动浏览器(浏览器复⽤)
1.在桌⾯ 右键点击 google浏览器,然后选择 属性
2.复制 ⽬标 ⾥⾯的路径, 不要包含chrome.exe ,示例: C:\Program Files (x86)\Google\Chrome\Application\
3.把复制的 路径配置到系统环境变量 Path中
4.在D盘下⾯,新建⼀个txt⽂本,输⼊内容: chrome.exe --remote-debugging-port=9222 ,然后保存后并修改⽂件名字(包括后缀名)为: chrome.bat (出现提示信息, 同意即可 )
5.如果配置成功,双击chrome.bat⽂件,会打开⼀个新的浏览器窗⼝
具体的操作步骤:
1)先运⾏代码,确保不会出 Chrome正受到⾃动测试软件的控制。 提示:
2)⼿动进⾏登录的操作,然后上述代码注释,在运⾏后续的⽤例代码
# driver.get("https://cart.taobao.com/cart.htm")
#
# driver.find_e