Selenium+ChromeDriver破解B站滑动验证(java)

B站的滑动验证,其实是极验验证,这里,我使用Selenium来操纵谷歌浏览器,抓取并识别滑动验证码,实现自动登陆B

这个过程主要分为以下几步:

·截取验证码原图

·截取有缺口的验证码

·分析缺口位置,计算需要滑动的而距离

·模拟拖动验证码

下面是每个步骤的具体实现:

·打开B站登陆页面,将鼠标放到滑块上(不要点击),可以看到,验证码原图已经加载出来了,这个时候截图,就可以获得验证码原图

Selenium+ChromeDriver破解B站滑动验证(java)_第1张图片

·按下鼠标(暂时不要松开),可以看到,有缺口的验证码已经出来,这个时候截图,就可以得到有缺口的验证码图片

Selenium+ChromeDriver破解B站滑动验证(java)_第2张图片

·对以上两张图片求差,就可以得到两个缺口的位置,进而计算出滑块应该被拖动的距离

Selenium+ChromeDriver破解B站滑动验证(java)_第3张图片

·实际上,B站并没有检测你的滑动轨迹,只是检测了滑动时间,滑动时间过短,将无法通过验证,所以,想要通过验证,只需要增加滑动时间即可。

Selenium+ChromeDriver破解B站滑动验证(java)_第4张图片

以上就是模拟登陆B站的所有步骤,在这里,我将我的整个工程上传,有需要的可以拿走~

点击打开链接


你可能感兴趣的:(java)