这里用谷歌浏览器为例,登录qq空间

条件:python环境,谷歌驱动chromedriver.exe,安装selenium模块

步骤

1、安装selenium模块

2、安装谷歌驱动chromedriver.exe

3、导入相关库

4、实例化浏览器对象

5、发起一个指定url对应请求

6、定位到账号密码登录操作标签

7、输入你的账号和密码

8、点击登录

9、进行滑块验证

10、关闭浏览器

1、安装selenium模块

pip install selenium

2、安装谷歌驱动chromedriver.exe

下载和chrome浏览器版本相对应的chromedriver.exe版本

我的chrome版本是99.0.4844.82,这里没有对应的驱动,下载相近的即可,这里我就下载99.0.4844.51

点击打开之后,看到如图所示信息,我的电脑是Windows系统,下载chromedriver_win32.zip,32位和64位的Windows系统都下载该压缩包

把解压后的chromedriver.exe粘贴放在python环境的目录下

3、导入相关库

# 导入相关库
from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains #selenium的动作方法

4、实例化浏览器对象

bro=webdriver.Chrome()

5、发起一个指定url对应请求

bro.get('https://qzone.qq.com/')

6、定位到账号密码登录操作标签(定位都采用id进行标签定位)

如果定位的相关登录操作标签在iframe标签中,必须使用switch_to.frame('login_frame'),因为iframe是一个内联框架,就相当于一栋房子里的房间,必须打开房间的门才能看到里面的东西。

因为要自动登录,所以采用账号密码登录。点击左上方小箭头,选中‘账号密码登录’找到该动作的标签,定位到该标签find_element_by_id('switcher_plogin'),点击操作click()

# 如果定位的相关登录操作标签在iframe标签中,必须使用下面操作,login_frame是iframe标签的id属性值
bro.switch_to.frame('login_frame')
# 再定位到要操作的位置标签
a_tag=bro.find_element_by_id('switcher_plogin')
a_tag.click() #点击

7、输入你的账号和密码

点击账号密码登录操作之后,开始输入账号密码,点击左上方小箭头,选中‘账号’找到该动作的标签,账号和密码一样,定位到相应的输入框(用户名和密码)find_element_by_id('u')和find_element_by_id('p')

# 定位到相应的输入框(用户名和密码)
username_tag=bro.find_element_by_id('u')    #账号
password_tag=bro.find_element_by_id('p')    #密码

输入账号和密码send_keys('账号'),send_keys('密码'),将自己的账号密码写入其中

# 输入账号,将账号放入send_key()中
username_tag.send_keys('1234567890')
# 输入密码,将密码放入send_key()中
password_tag.send_keys('123456')

8、点击登录

点击’授权登录‘,定位到该标签find_element_by_id('login_button'),点击

# 定位到登录按钮
btn=bro.find_element_by_id('login_button')
btn.click() #点击

9、进行滑块验证

刚开始可能不用进行滑块验证,反复登录之后就需要了。这里就不采用cv2模块的方法进行滑块验证,比较难,直接用动作链ActionChains进行验证,因为通过观察每个滑块验证的滑动距离差不多,也不需要小滑块和背景图严丝合缝,直接拖动固定距离就基本可以验证成功。

通过观察源码该滑块验证又是在一个iframe内联框架中,所以又要使用switch_to.frame('tcaptcha_iframe')

定位到该滑块按钮,点击并长按,向右拖动一段距离,然后再松开鼠标左键

# 安全验证拖动滑块
# 实例化一个动作链对象
action=ActionChains(bro)
bro.switch_to.frame('tcaptcha_iframe')
# 定位到滑块
div=bro.find_element_by_id('tcaptcha_drag_thumb')
# click_and_hold()点击并长按
action.click_and_hold(div)
# move_by_offset(x,y) 移动,x:水平方向,y:竖直方向
action.move_by_offset(180,0)
sleep(1)
# 释放动作链接对象release(on_element=None),perform()执行链中的所有动作
action.release(div).perform()

10、关闭浏览器

# 关闭浏览器
bro.quit()

代码示例

# 导入相关库
from selenium import webdriver
from time import sleep
from selenium.webdriver import ActionChains #selenium的动作方法
# 实例化浏览器对象,这里用的是谷歌浏览器,将下载的chromediver.exe放到python3.x环境的目录下
# 下载和谷歌版本对应的chromedirver.exe版本
bro=webdriver.Chrome()# 让浏览器发起一个指定url对应请求
bro.get('https://qzone.qq.com/')# 如果定位的相关登录操作标签在iframe标签中,必须使用下面操作,login_frame是iframe标签的id属性值
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)
# send_keys()里面输入你的账号和密码
username_tag.send_keys('1234567890')
sleep(1)
password_tag.send_keys('123456')
sleep(1)# 定位到登录按钮
btn=bro.find_element_by_id('login_button')
btn.click() #点击
sleep(1)# 安全验证拖动滑块
# 实例化一个动作链对象
action=ActionChains(bro)
bro.switch_to.frame('tcaptcha_iframe')
# 定位到滑块
div=bro.find_element_by_id('tcaptcha_drag_thumb')
# click_and_hold()点击并长按
action.click_and_hold(div)
# move_by_offset(x,y) 移动,x:水平方向,y:竖直方向
action.move_by_offset(180,0)
sleep(1)
# 释放动作链接对象release(on_element=None),perform()执行链中的所有动作
action.release(div).perform()# 关闭浏览器
sleep(5)
bro.quit()

到这里你就可以用代码自动登录QQ空间

python代码实现自动登录相关推荐

  1. 100个必会的python脚本-100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  2. 利用Python实现校园网自动登录(部署在树莓派)

    利用Python实现校园网自动登录(部署在树莓派) 项目场景: 在实验室的时候,每天的第一个苦恼就是面对不自动弹窗的校园网登录,且一个账号仅支持两个设备. 实验室使用了路由器,多个设备使用同一个账号上 ...

  3. 用python脚本4行代码实现自动登录上网认证系统

    公司最近搞了个上网认证系统.每天开机要连上网络都要登录一下. 一直听说python啥事都能干,说得我这个美工心痒痒. 装好python,搜了一些教程,说简单的post发送就能搞定, 再往下,了解到了p ...

  4. python必背100源代码-100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  5. python方式下自动登录51cto

    这是一篇用python代码自动登录的脚本,大家可以参考,看能不能开发点其他东东... #!/usr/bin/env python #web client post of python network ...

  6. Python校园网定时自动登录-锐捷

    开始 搭了个树莓派连着校园网,但是校园网每天24点掉线,次日6点后才能连接,所以用Python写了个脚本,每天早上6点20执行一次,这样就不用每天手动登录了. 在写代码之前我们要先获取一些参数,而用这 ...

  7. Python实现网站自动登录---傻瓜教程

    本文介绍使用谷歌浏览器chrome自动登录网页, 下载谷歌浏览器:https://www.google.cn/chrome/,找到对应电脑操作系统(我的是WIN7 64位)的版本下载并安装. 1.首先 ...

  8. Python实现BBS自动登录并发帖

    初学Python有了一段时间,寒假里又看了一些Web编程方面的知识,就写了一个实现bbs自动登录和发帖的Python脚本 由于本人学校BBS站首页使用js加载,貌似通过首页登录不大可行,然后就分析表单 ...

  9. python火车票购买程序代码_100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  10. Python桌面可视化+自动登录学校教务系统(含源码!!!)

    前言:通过Python爬虫与tkinter模块实现桌面快捷自动化登录教务系统 目录: 前言:通过Python爬虫与tkinter模块实现桌面快捷自动化登录教务系统 效果展示: 整体思路: 总体框架: ...

最新文章

  1. TensorFlow 2.0发布在即,高级API变化抢先看
  2. Confluence 6 SQL Server 测试你的数据库连接
  3. 在Android中,如何以编程方式在dp中设置边距?
  4. Ext2、Ext3和Ext4之间的区别
  5. OpenCV-图像特征harris角点检测/SIFT函数/特征匹配-05
  6. jQuery 对AMD的支持(Require.js中如何使用jQuery)
  7. MAC地址进行验证的方法
  8. 诗与远方:无题(七十九)- 望红云而作
  9. SQL Server 2012完全备份、差异备份、事务日志备份和还原操作
  10. Arduino入门教程(二) Unity动感单车
  11. SparkSQL Analyzed实例源码解析
  12. eclipse解决中文乱码
  13. 《认知与设计——理解UI设计准则》系列笔记目录
  14. 中继 并发量_潮流UCM6102 IP PBX 支持500门分机 双外线 30个并发数
  15. 系统学习深度学习(四) --CNN原理,推导及实现源码分析
  16. Socket编程面试问题
  17. EXCEL的查找:如何按 行号+列号 进行查询, 可用indirect() + match() 或 index() + match()
  18. JavaScript 各种参数 详解(十二)
  19. 在我们之间为什么显示服务器已满,icloud储存空间已满怎么解决
  20. 艺赛旗 (RPA) Python 的数据类型

热门文章

  1. 物联lot是什么意思_什么是IOT物联网技术
  2. html 游戏 消消乐,html5叠房子消消乐小游戏代码
  3. C++游戏编程教程(一)
  4. Excel笔记(1) Excel常用基础功能
  5. 双闭环直流调速系统的MATLAB的仿真,双闭环直流调速系统MATLAB仿真
  6. QCC3020/QCC3040 TWS耳机按键切换EQ,APP切换EQ功能实现
  7. HTML美化页面(下)
  8. 【计算电磁学】真空中电磁波传播的MATLAB一维FDTD仿真程序
  9. STM32F205 HAL库 RTC软件复位后不准
  10. inno setup安装包程序完整版