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

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

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



第二层短信验证码

共收到 17 条回复 时间 点赞

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

测试环境去了呗

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

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

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

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

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

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

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

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

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

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

滑块缺口这个,你说的这种办法我想过,但我这是把图片的地址经过 base64 加密了,这种怎么解决呢


短信那个,是发送的手机上,怎么做自动化,没明白

嗯,是个办法,我试试

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

testjson #10 回复

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

嗯嗯,好的,我试试

testjson #10 回复

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

zz #13 回复

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

testjson #8 回复

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

testjson #7 回复

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

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

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册