Selenium 做自动化,验证码怎么解决?

testjson · 2023年11月28日 · 最后由 ddDian 回复于 2023年11月30日 · 8630 次阅读

求助:
公司的登录有多重验证码校验,该怎么处理?
第一层滑块验证码


第二层短信验证码

共收到 17 条回复 时间 点赞

之前只有一个滑块验证码,通过 cookie 绕过了,现在有网警来检查,登录验证码加了短信验证码

测试环境去了呗

如果是自家的系统,可以添加上白名单,如果是这个帐号,验证码为固定的,后面的滑块验证不会出现就行了。如果要是其他公司的产品,你是绕不过去的,这就是为了防止自动化的。

搞过爬虫都知道,这些都是反爬措施。那么现在要自动化就是反反爬。
因此要了解验证码出现的时机,和类型。

比如淘宝,手动输入登录没有任何验证码,如果是自动化那么会又一个滑动到最右边的验证校验,但是!重点!手动滑动后依旧会跳转到一个问卷调查,即便是填写提交,依旧返回到登陆界面,死循环。所以这是检测到了是自动化程序来登录,因此要隐藏浏览器指纹解决。

知乎的话,会又图片缺口滑块,有文字识别点击,对于这种可以使用 OpenCV 或者 Ai 训练来解决,然后模拟滑动和点击即可。

至于验证码,这个是要发送到手机上,一般是手动输入,但是填写手机号的操作可以自动化。

还有一种验证码就是百度登录那种滑动旋转的验证码,也可以识别搞定。

最后就是 Google 的点击验证和图片点击验证。

短信的话,问开发数据存哪里的,直接从数据源获取验证码

嗯,这个得跟我们技术部的领导沟通下,如果让去掉当然最直接有效

爱偷懒的QA 回复

是我们公司自己的,白名单对于我们公司这种验证码不知道有没有用,我有想过让开发给个万能验证码,滑块给个固定位置,短信给个固定的短信验证码

滑块缺口这个,你说的这种办法我想过,但我这是把图片的地址经过 base64 加密了,这种怎么解决呢
短信那个,是发送的手机上,怎么做自动化,没明白

学成学成 回复

嗯,是个办法,我试试

学成学成 回复

问了下开发,短信的验证码存在 redis 里面

testjson 回复

点击发送后,去 redis 里获取就行了呢

学成学成 回复

嗯嗯,好的,我试试

testjson 回复

那就去 redis 获取就好了,用白名单是个比较好的方式,我上家公司做 ui 自动化就是用的这种方式

zz 回复

好的,计划就用这种方式试试

testjson 回复

上面说了验证码去 Redis 里面取就行,加密的话 可以直接定位截图识别

testjson 回复

不用那么费劲,就是指定的手机号,输入 000000 验证码,过滤一切验证逻辑就可以了!

爱偷懒的QA 回复

如果产品和技术根本没有白名单的逻辑,不可能为了测试增加相应的代码从而增加风险

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册