1.编译环境
操作系统:win7;语言:python2.7+selenium2;ide:pycharm;浏览器:IE10,chrome
2.1意外开始
今天登录淘宝时候发现吧密码搞忘了,选择找回密码时淘宝居然加了滑块认证。

恰巧自己也在学习selenium,就想试一试能不能实现自动拖动滑块。
2.2 度娘查找
由于自己没多少思路,第一选择就是问度娘,终于找到一篇文章,该文章使用C#实现了该功能,并提到需要定位滑块元素在网页和桌面的坐标,而这个功能直接可以用selenium中的查找元素接口搞定那么剩下最后一个问题就是如何得知滑块的位移量。(原谅我忘记该文章的名字了)
2.3 开始试验
大家在手动操作滑块的时候会发现如果滑块位移不够,它要自动还原就不能触发认证成功环节,所以我用一个笨方法先手动操作看看。打开浏览器按F12,得到代码如下:

然后拖动滑块位移,发现滑块元素的style一直在变化如图:

现在大概清楚右位移量为300px,OK开始写代码,经过很多次试验确定滑块移动后有三种情况:
1无响应:请按住滑块,拖到到最右边;
2失败:哎呀,加载失败了,请点击刷新页面
3成功:请点击图中xx字,请在下方输入xx字
解决思路:无响应时,需要重复拖动滑块,直到成功为止;失败了,需要自动点击刷新按钮,使滑块回到无响应状态;成功了,暂时是直接退出浏览器,验证码识别还在研究中,以后补齐。
2.4 完整代码
PS:粘贴上去的代码,我不知道怎么对齐,如果大家直接复制运行,可能会报错,请自动修改。

# encoding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
#使用谷歌浏览器,方便查看效果,如果追求速度可以用phantomJS
driver=webdriver.Chrome()
#调整最大窗口,否则某些元素无法显示
driver.maximize_window()
#使用淘宝找回密码界面做测试
driver.get('https://passport.taobao.com/ac/password_find.htm?spm=a2107.1.0.0.phBxhD&from_site=0')
time.sleep(5)#等待滑动模块和其他JS文件加载完毕!
while True:try:#定位滑块元素source=driver.find_element_by_xpath("//*[@id='nc_1_n1z']")  #定义鼠标拖放动作ActionChains(driver).drag_and_drop_by_offset(source,400,0).perform()#等待JS认证运行,如果不等待容易报错time.sleep(2)#查看是否认证成功,获取text值text=driver.find_element_by_xpath("//div[@id='nc_1__scale_text']/span")#目前只碰到3种情况:成功(请在在下方输入验证码,请点击图);无响应(请按住滑块拖动);失败(哎呀,失败了,请刷新)if text.text.startswith(u'请在下方'):print('成功滑动')breakif text.text.startswith(u'请点击'):print('成功滑动')breakif text.text.startswith(u'请按住'):continueexcept Exception as e:#这里定位失败后的刷新按钮,重新加载滑块模块driver.find_element_by_xpath("//div[@id='havana_nco']/div/span/a").click()print(e)
#退出浏览器,如果浏览器打开多个窗口,可以使用driver.close()关闭当前窗口而不是关闭浏览器
driver.quit()

python2.7+selenium2实现淘宝滑块自动认证相关推荐

  1. python 淘宝滑块验证_python2.7+selenium2实现淘宝滑块自动认证功能

    本文为大家分享了python2.7+selenium2实现淘宝滑块自动认证的具体代码,供大家参考,具体内容如下 1.编译环境 操作系统:win7:语言:python2.7+selenium2:ide: ...

  2. 如何使用纯JS过掉淘宝滑块

    起因 众所周知淘宝滑块很难过掉,今天博主就专门研究了一下淘宝滑块, 之前博主也有研究过但是发现并不好过. 今天恰好有个项目需要淘宝登录,就有滑块验证, 说明一下博主做的是浏览器插件哦.今天博主打算在研 ...

  3. 【任务脚本】1104更新双十一京东淘宝任务脚本,全自动程序,淘宝京东自动做任务...

       公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达.     今天试了一下大神的脚本,将相关的注意事项发一下.     删掉了之前的 ...

  4. 淘宝滑块 tb滑块 x82y x5sec

    py 易 js补环境的 成功率百分百 支持并发 源码 dll 都有 淘宝滑块 tb滑块 x82y x5sec

  5. 将淘宝商品自动添加购物车

    环境 安装 python,配置 selenium 环境 安装浏览器驱动 问题描述 完成指定网站搜索某个关键字,切换到另一个网页,将搜索商品放到购物车 的联系 源代码 #导入 selenium 的 we ...

  6. 阿里研究院启动2018年度淘宝村辅助认证活动

    各位朋友: 大家好!感谢你们长期关注和支持淘宝村. 2017年,阿里研究院认定淘宝村超2100个,分布在全国24个省区市. 2018年,将有多少个淘宝村?淘宝村有哪些创新?淘宝村如何实现乡村振兴?-- ...

  7. 阿里研究院启动2017年度淘宝村辅助认证活动(附表格下载)

    各位朋友: 大家好!感谢你们对淘宝村的长期关注和支持! 2016年,阿里研究院在全国发现1300余个淘宝村,广泛分布于18个省市区. 2017年,将有多少个淘宝村?淘宝村发展有哪些亮点?--针对这一系 ...

  8. python实现微信机器人 + 淘宝客自动领券(二)

    原理概述 该系统采用的传统的cs架构,客户端和服务器的语言都是采用python写的.服务器采用的django框架部署在本地,主要用于自动登陆淘宝,阿里妈妈等平台采集信息,客户端通过hook微信,接受用 ...

  9. 淘宝滑块的解决方法和api接口

    以下是行业内了解到的一些情况,本帖只展示部分代码,需要更多API调试请移步注册API账号 http://console.open.onebound.cn/console/?i=Turbo 大家都知道, ...

最新文章

  1. android.database.cursorindexoutofboundsexception错误解决 及获取某行某列信息
  2. Oracle创建命名空间和新用户
  3. 使用openssl生成ssl(https)证书
  4. java中文乱码 寮犱笁_MySQL命令窗口中文乱码或插入中文数据失败
  5. Java中特质模式的定义
  6. hive 如何将数组转成字符串_教你如何将Power Logic的原理图转成Orcad的原理图
  7. python和ui设计,PySide2相当于PyQt5的loadUiType(),用于在UI设计中动态混合
  8. matlab常用数学函数实验,实验二-MATLAB的数学运算基础.ppt
  9. 网吧服务器记录修改,网吧服务器ip地址修改
  10. 用户画像数据建模方法
  11. 自动控制原理3.3---二阶系统的时域分析
  12. 网卡高可用与负载均衡【team】
  13. Redis分布式锁相关【摘抄】
  14. 使用JS解析JSON数组
  15. java接口面试题_7道经典Java接口面试题
  16. 微生物学期末复习重点
  17. 如何查看win 10 无线密码
  18. 高校校园无线认证计费解决方案
  19. PostGIS安装教程及遇到的问题总结
  20. 屏幕时间:管理与限制手机各APP使用时间——又名【限制儿童使用手机攻略】——相关主题【救救网瘾少年】

热门文章

  1. 常用的 PHP 类库 , 资源
  2. 深刻认识 -- 立即数
  3. Problem G: 零起点学算法106——首字母变大写
  4. 【mysql】设置mysql默认密码
  5. Android 自动抓取网站图标实现分享样式的定制
  6. JavaScript 数据类型的转换
  7. dlib.get_frontal_face_detector()函数
  8. 两年多里自己都干了什么?
  9. air英语怎么读_考研英语词汇记忆:air-conditioning怎么翻译及发音
  10. 8、哈希表(Hash)