Selenium 阿里云滑块验证失败解决方案

白纸 · 2020年11月04日 · 最后由 fiskeryang 回复于 2020年11月06日 · 8254 次阅读

新项目使用了阿里云滑块

如图:

使用 selenium-Chromwebdriver 自动化滑动滑块会显示:

解决历程

  • 百度

先百度下这是个什么,之前也没遇到过

发现滑动到尽头会发送一个请求:https://cf.aliyun.com/nocaptcha/analyze.jsonp:xxxxxx

就知道是阿里出品了

  • 然后看看别人怎么解决的

发现这个滑块主要验证了 2 点,如图:

一个是 chromedriver 的标识
一个是 window.navigator.webdriver(js 检测特征之一)

开始解决

  • chromedriver 的标识

找到你的 chromedriver 不管是 windows 的还是 docker 的

更改一下标识即可 把 “$cdc_asdjflasutopfhvcZLmcfl_” 更改为 “$chr_fajfjafjasifjsiaSsdjdl_”

windows 的就拖到 IDEA 里面查找

docker 的就 VIM 找到标识更改后 重新打包 image

  • window.navigator.webdriver(js 检测特征之一) 这个须要设置


option.addArguments("--disable-blink-features=AutomationControlled");

然后解决:

tips

如果失败,建议先拖动一下,别拖到尽头,等待 200ms 再托到尽头,这里的 阿里云滑块校验 我也没找到原因

因为 有时候进页面直接拖到头就会出现验证失败的情况!!!


actions().dragAndDropBy(el, 250, 0).perform();
sleep(200);
actions().dragAndDropBy(el, 350, 0).perform();

对了,如果有阿里系的同学,麻烦留条后路啊,别封杀这个解决方案啊! 手动狗头!!!

共收到 2 条回复 时间 点赞

按键精灵可破😂 浏览器一般还能轻易做后台的鼠标,反正都开浏览器了,不差再来个按键精灵

Zhhh 回复

可以在测试框架中集成大漠插件 不过只能在 windows 中使用

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