Charles未晞
Charles的皮卡丘
提供解决思路,此文实为借鉴。
利用selenium模拟登录淘宝,外界传言这个确实很难过,有各种轨迹检测。
但是我没想到淘宝的滑块验证码这么容易就能过。
Python版本:3.6.4
相关模块:
selenium模块;
python内置模块。
Chromedriver:
自行谷歌,下载和电脑上的谷歌浏览器版本相匹配的驱动。
selenium模块本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器;由于selenium解析执行了CSS、Javascript所以相对requests它的性能是低下的;
1.安装selenium
先实例化一个webdriver.Chrome对象,用于自动化操作我们电脑里的谷歌浏览器:
模拟点击网页左上方的"亲,请登录"以进入淘宝网的登录界面:
然后跳转到下面的界面:
刚开始居然是没有出现验证码的,是我多次试错后调试出来的。
模拟输入账户信息:
这类滑块验证码需要用户按住滑块,并将它拖动到最右边。一开始我也以为淘宝会加入一些检测手段以识别是机器还是人在操作滑块。结果发现和外界传闻的不一样,用ActionChains函数直接把滑块拖到最右边就可以验证通过了:
最后模拟点击一下登录按钮就行了:
程序到这里就大功告成了,有些人就很奇怪了,为什么这么简单就可以真的实现过验证呢?其实吧就总结了一句话:纸上得来终觉浅,绝知此事要躬行!