1.引入Chrome驱动,打开qq空间网页

bro = webdriver.Chrome(executable_path='./chromedriver.exe')
bro.get('https://qzone.qq.com/')

2.由于进入之后首先提示的是扫描二维码因此要切换到账户密码登录

  首先找到账户密码登录所对应的标签

   之后触发点击 

a_tag = bro.find_element_by_id('switcher_plogin')
a_tag.click()

  

  再之后找到账户密码所对应的的input标签的id

userName_tag= bro.find_element_by_id('u')
passWord_tag= bro.find_element_by_id('p')

3、输入账户密码

userName_tag.send_keys("7xxxxx")
passWord_tag.send_keys('xxxxx.')

4.找到登录按钮所对应的的标签id

btn = bro.find_element_by_id("login_button")
btn.click()

5.点击登录后会切换到滑动验证窗口,这个验证窗口是嵌套在iframe标签里,因此需要先切换到验证框所对应的的iframe标签

iframe = bro.find_element_by_xpath('//iframe')  #找到“嵌套”的iframe,开头//表示从当前节点寻找所有的后代元素,当前在iframe 需要往下嵌套的iframe
bro.switch_to.frame(iframe)  #切换到iframe

  拖动距离的可以通过拖动滑块观察下图中所示数值减去初始值来确定距离

button = bro.find_element_by_id('tcaptcha_drag_button')  # 寻找滑块
print("寻找滑块")sleep(1)print("开始拖动")
# 开始拖动 perform()用来执行ActionChains中存储的行为
distance = 175
action = ActionChains(bro)
action.reset_actions()  # 清除之前的action
action.click_and_hold(button).perform()  # click_and_hold 点击并保持
action.move_by_offset(distance, 0).perform()
action.release().perform() # 释放action

6.完整代码:

from selenium importwebdriverfrom time importsleepfrom selenium.webdriver importActionChainsbro= webdriver.Chrome(executable_path='./chromedriver.exe')
bro.get('https://qzone.qq.com/')
bro.switch_to.frame('login_frame')
a_tag= bro.find_element_by_id('switcher_plogin')
a_tag.click()
userName_tag= bro.find_element_by_id('u')
passWord_tag= bro.find_element_by_id('p')
sleep(1)
userName_tag.send_keys("7xxxxx")
sleep(1)
passWord_tag.send_keys('xxxxx.')
btn= bro.find_element_by_id("login_button")
btn.click()
sleep(1)iframe= bro.find_element_by_xpath('//*[@id="tcaptcha_iframe"]')  #找到“嵌套”的iframe
bro.switch_to.frame(iframe)  #切换到iframe
sleep(2)button= bro.find_element_by_id('tcaptcha_drag_button')  #寻找滑块
print("寻找滑块")sleep(1)print("开始拖动")#开始拖动 perform()用来执行ActionChains中存储的行为
distance = 175action=ActionChains(bro)
action.reset_actions()#清除之前的action
action.click_and_hold(button).perform()  #click_and_hold 点击并保持
action.move_by_offset(distance, 0).perform()
action.release().perform()#释放action
sleep(60)#退出浏览器
bro.quit()

selenium: 登录QQ空间并破解滑块验证相关推荐

  1. 爬虫(11) selenium(下) 行为链 登录qq空间案例

    文章目录 第十一章 selenium(下)行为链登录qq空间 1. 行为链 2. selenium操作cookie 2.1 获取cookie 2.2 登录QQ空间 2.3 自己的方法登录QQ空间 2. ...

  2. python+selenium自动登录qq空间并下载相册

    基于selenium的自动登录qq空间并遍历所有相册及相片的功能.只能访问自己或好友(有访问权限)的相册,好友有密码的相册不可能...这里只是介绍流程,所以只是实现了遍历,并未实现图片文件的下载保存. ...

  3. python访问陌生人qq空间_使用Python+Selenium模拟登录QQ空间

    使用Python+Selenium模拟登录QQ空间 爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密,这绝对能掉好几斤头发.而现在有了seleni ...

  4. selenium实现QQ空间和b站这些网站的模拟登录

    干了一晚上,对于我这个新手来说太不友好了,要哭了,终于成功了,加油加油,冲冲冲,发布一下给自己留个纪念 我们先说一下思路,我们在使用selenium自动化的时候,其实和你本人打开网站区别是不大的,那么 ...

  5. Selenium基础知识 自动登录QQ空间

    Selenium基础知识 自动登录QQ空间 from selenium import webdriver import timedef auto_login():driver = webdriver. ...

  6. python模拟qq空间登录_模拟登录QQ空间

    # coding=utf-8 from selenium import webdriver # 模拟登录QQ空间 def Start_Login(): # 这个是chormedriver的地址 dri ...

  7. python怎么打开qq_Python怎么登录QQ空间?

    匿名用户 1级 2018-08-22 回答 使用Python+Selenium模拟登录QQ空间 爬QQ空间之类的页面时大多需要进行登录,研究QQ登录规则的话,得分析大量Javascript的加密解密, ...

  8. python_qzonespider_day2_模拟登录QQ空间

    准备: chrome预览器(版本 66.0.3359.181(正式版本) (32 位) chromedriver.exe(下载镜像仓库,版本2.38) python2.7 pycharm2017 # ...

  9. 批量登录qq空间,点击推广链接,增加点击量

    源码请至此处下载:https://github.com/inmyjs/apqq_space 或者直接下载打包好的,https://download.csdn.net/download/kunoy/10 ...

  10. python访问陌生人qq空间_在Python中使用Phantomjs模拟登录QQ空间

    一.问题来源 在使用Python进行数据爬取的过程中,我们一般使用Selenuim自动化测试工具对需要进行登录验证和动态JS数据的站点进行爬取.而与Selenuim相对应的浏览器组件,为了方便起见,一 ...

最新文章

  1. PCA的数学原理(通俗易懂)
  2. java requestparams_java – 如何验证@RequestParams不为空?
  3. iphone如何信任软件_苹果企业开发者证书成漏洞 盗版商发布破解版iPhone应用
  4. 计组之I/O系统:1、I/O系统基本概念
  5. 这里有一个让你变成技术大牛的机会
  6. 一、tars简单介绍 二、tars 安装部署资料准备
  7. unity---------------------关于BuildAssetBundles的使用(打包)
  8. 自动化测试和手工测试结果汇总小实践
  9. 《An Introduction to Ray Tracing》—— 2.4 Ray/Box Intersection
  10. 命令行构建Unity项目
  11. 必刷2022年辽宁最新消防设施操作员模拟题库及答案
  12. python名片管理教程_[Python]名片管理系统
  13. 新知实验室-基于腾讯云音视频TRTC的微信小程序实践
  14. 基于K-means的彩色图像聚类之代码实现
  15. 7.3 数字化的资产管理
  16. Dreamwear如何创建javascript_内存管理+如何处理4种常见的内存泄漏
  17. Vue项目区分开发环境问题
  18. python web py入门(3)-模板
  19. android中生成excel
  20. 论文研读 —— 5. FaceNet A Unified Embedding for Face Recognition and Clustering (2/3)

热门文章

  1. linux下caffe安装过程原理,caffe安装过程详解linux版本
  2. nrf24l01无线模块c语言程序,NRF24L01 无线通信模块使用
  3. pm模式 raid_pm8060 raid配置 服务器RAID配置详解 - 硬件设备 - 服务器之家
  4. visio用例图箭头怎么画_Visio画图(一):UML用例图
  5. EPLAN教程——导出CAD如何快捷配置
  6. echar柱状图调整柱的高低
  7. CSDN首页 云计算 孙玄:解析58同城典型技术架构及演变
  8. 计算机怎么删除表格,怎么快速删除电脑word文档中不想要的表格
  9. android Paddle 视频字幕识别TTS语音
  10. multisim安装后无法连接数据库_如何解决multisim无法安装的问题