python自动登录教程_Python 实现自动登录+点击+滑动验证功能

需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了

在这里我模拟了csdn的登录过程

**

1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码输入框,输入后 点击登陆 弹出验证滑动条

2020061016443238.jpg

def __init__(self):

self.url = "https://passport.csdn.net/login"

self.browser = webdriver.Chrome()

#获取登录按钮对象 选择 账号密码登录

def get_pass_button(self):

button= self.browser.find_element_by_xpath("//*[@id="app"]/div/div/div[1]/div[2]/div[5]/ul/li[2]/a")

return button

#打开网址,输入用户名。密码

def open(self,username,password):

self.browser.get(self.url)

self.get_pass_button().click()

2.然后跳转到登录视图

2020061016443339.png

self.browser.find_element_by_xpath("//*[@id="all"]").send_keys(username)

self.browser.find_element_by_xpath("//*[@id="password-number"]").send_keys(password)

3.滑动验证条:

2020061016443340.png

ps:个人觉得,这个通过用鼠标事件拖动验证条的方法同样可以适用于滑动验证码,可以把整个滑动验证码分为3-4等份,然后写个循环每次拖动1/3,基本上3-4次就能通过验证,这样就不用用网上写的那种通过获取原图,缺图的方法,很实用,很适合初学者,个人建议,大佬们别喷…

# 获取拖拽的滑动验证码块

# 按钮xpath

slideblock = self.browser.find_element_by_xpath("//*[@id="nc_1_n1z"]")

# 鼠标点击滑动块不松开

ActionChains(self.browser).click_and_hold(slideblock).perform()

# 将圆球滑至相对起点位置的 右边xx

ActionChains(self.browser).move_by_offset(xoffset=260, yoffset=0).perform()

time.sleep(10)

# 放开滑动块

ActionChains(self.browser).release(slideblock).perform()

# time.sleep(10)

整体代码如下:

#coding=utf-8

import time

from selenium import webdriver

from selenium.webdriver import ActionChains

class Login():

#打开浏览器驱动

def __init__(self):

self.url = "https://passport.csdn.net/login"

self.browser = webdriver.Chrome()

#获取登录按钮对象 选择 账号密码登录

def get_pass_button(self):

button= self.browser.find_element_by_xpath("//*[@id="app"]/div/div/div[1]/div[2]/div[5]/ul/li[2]/a")

return button

#打开网址,输入用户名。密码

def open(self,username,password):

self.browser.get(self.url)

self.get_pass_button().click()

self.browser.find_element_by_xpath("//*[@id="all"]").send_keys(username)

self.browser.find_element_by_xpath("//*[@id="password-number"]").send_keys(password)

#调用 open方法,输入用户名。密码,

#调用 get_geetest_button方法,点击按钮

def log(self):

# 输入用户名密码

self.open("33289317","1111")

# 点击登录按钮

self.browser.find_element_by_xpath("//*[@id="app"]/div/div/div[1]/div[2]/div[5]/div/div[6]/div/button").click()

time.sleep(5)

# 获取拖拽的滑动验证码块

# 按钮xpath

slideblock = self.browser.find_element_by_xpath("//*[@id="nc_1_n1z"]")

# 鼠标点击滑动块不松开

ActionChains(self.browser).click_and_hold(slideblock).perform()

# 将圆球滑至相对起点位置的 右边xx

ActionChains(self.browser).move_by_offset(xoffset=260, yoffset=0).perform()

time.sleep(10)

# 放开滑动块

ActionChains(self.browser).release(slideblock).perform()

# time.sleep(10)

#关闭浏览器,释放资源

# self.browser.close()

# 程序主入口

if __name__ == "__main__":

login = Login()

login.log()

总结

到此这篇关于Python 实现自动登录+点击+滑动验证的文章就介绍到这了,更多相关Python 实现自动登录+点击+滑动验证内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

原文链接:https://blog.csdn.net/weixin_46055113/article/details/106613782

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261930.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2月份.xyz域名总量10强:西数称王 注册量破百万

IDC评述网(idcps.com)02月25日报道:根据ntldstats.com发布的最新数据显示,截止至2016年2月24日17时,国内外.xyz域名总量十强名单顺序,与上期1月28日对比,无任何变化。最值得一提的是&#xff0c…

flash作业_一起作业,你很智障!

电子作业现在貌似很流行,在很多学校都有,具体的利弊就不再赘述,可以点击前面的超链接跳转到某度百科自己看。今天只是忍不住怕盘点下国内知名电子作业平台——一起作业网的一些智障设计。。。本来想写到这里去的:有哪些让人拍案叫…

QtCreator添加图片资源

在qt creator里面,设计师designer是一个很好用的功能,通过它我们可以可视化的设计界面。当然了,设计界面就需要各种各样的效果,图片资源是不可少的。今天,小编就来教大家qt怎么添加图片资源 工具/原料 qt creator方法/…

只安装python_AI帮你写Python,安装只需5步,还能任你调教 | 开源

一行一行地敲代码就像是徒手搬砖,聪明的程序猿们表示:我们要解放生产力! 比如像这样:在机器学习的时代,AI智能补全代码早已不是梦想,各种IDE和插件都在努力帮助程序猿减少击键次数,延长键盘寿命…

巧用apply让javascript函数仅执行一次

RT,有时候我们只想要让某些脚步函数执行一次就算完成任务了。如何实现这种功能呢?简单模仿下面这段就可以轻松搞定了: 代码 varobj newObject();obj.triggerOnce function(fn) { //控制让函数只触发一次returnfunction() { try{ fn.ap…

评论时间戳格式化

如图: 注意,评论时间戳的格式,刚才,几小时之前,几天之前..... 实现需要一个时间格式的工具类,如果用java.util.Date当然也可以实现,这里说的是更方便的joda-time。 maven地址:http:/…

android lint工作机制,Android架构

MVCmvc model view controller 模式视图控制器M: 业务逻辑处理V:处理数据显示的部分C:Activity处理用户交互的问题,中间桥梁的作用,解耦的作用。特点:耦合性低扩展性好,利于维护模块职责划分明确Model层&am…

opendds开发指南中文版_最强的开发者技术路线图已经更新到 2020 GitHub 超 118k还有中文...

想必大家都知道,学习路线图是学习一门新技术的入门指南,让我们对技术有一个大概的了解,并且在学习感到困惑时被指导。所谓不求最好,但求最全。今天在在就给大家带来了一个国外大牛开源的项目 — 「developer-roadmap」&#xff0c…

iOS APP网络分析之rvictl(可以捕捉除了Wifi以外的网络类型)

iOS应用(包括移动应用)的网络分析,一般采用将移动设备上的流量导入到PC机上,利用PC上成熟的数据包分析工具例如wireshark等来进行分析的方法。 总的来说,有以下三种方法:一、在PC上设置网络共享&#xff0c…

oracle批量update数据_东方国信大数据面试真题

东方国信学长1Hadoop工程师笔试题(金融事业部)1)技术基础题(共十题,每题5分)(1)列举在Linux系统下可以在看系统各项性能的工具(区分CPU、内存、硬盘、网络等)…

eclipse定制化配置调优、初始化配置指南、可以解决启动慢等问题

配置eclipse的jvm参数 打开eclipse根目录下的eclipse.ini在最后面加上如下的jvm参数 -Xms400m -Xmx1400m -XX:NewSize128m -XX:MaxNewSize512m -XX:PermSize96m -XX:MaxPermSize128m -server -XX:CompileThreshold100 -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSInitiatin…

SEC SOC Test Board 在WIN 7下的安装

首先找到“设备和打印机”点击打开 如果你插上了USB线,会看到,安装不成功时会有个“!” 双击它,出现 点击“属性”,出现 点击“改变设置”,出现 点击“更新驱动程序”,出现 点击进去&#xff0c…

吴枫 python小课怎么样_编程中,有哪些好的习惯从一开始就值得坚持?

电影《喜剧之王》里,周星驰饰演的尹天仇,是一个渴望成为真正的演员,却不断沦为落魄跑龙套的小人物。即便如此,他对演戏的态度始终认真而可敬。他每天不但锲而不舍寻找演戏机会,还在街坊福利社开了个戏剧训练班&#xf…

设置width不生效_关于padding被计算在width中问题——box-sizing相关

前一阵子遇到一个小问题,在同样的样式(主要是宽高边距之类的)条件下,DIV在移动端和PC端的宽度不一样,排除了绝大多数样式的问题,但是有个比较陌生,就是box-sizing,其实经常看到&…

我的Python成长之路---第六天---Python基础(19)---2016年2月20日(晴)

shelve模块shelve模块是pickle模块的扩展,可以通过key,value的方式访问pickle持久化保存的数据持久化保存:12345678910111213import shelvesw shelve.open(shelve_test.pkl) # 创建shelve对象name [13, 14, 145, 6] # 创建一个列表dist_tes…

apache 设置404 页面_SpringBoot自定义错误页面

SpringBoot请求错误如404可能看到如下页面:有时可能需要自定义错误页面针对不同的http.status,如404/400。【1】解决方法① 注册错误页面如下所示:Componentpublic class ErrorPageConfig implements ErrorPageRegistrar { Override public void r…

Java 编程:如何提高性能?(简单总结篇)

2019独角兽企业重金招聘Python工程师标准>>> 开发者在编程中除了要有编程规范,还要注意性能,在 Java 编程中有什么提高性能的好办法呢? 本文转自国内 ITOM 行业领军企业 OneAPM Cloud Insight(一款能够优雅监控多种操作…

mysql没有开启binlog能恢复数据吗_神了!一个妹子 rm -rf 把公司整个数据库删没了......

经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。01事故背景安排一个妹子在一台生产服务器上安装 Oracle&…

android手机活跃度,微信Android机型活跃度曝光,这个结果你满意吗?

原标题:微信Android机型活跃度曝光,这个结果你满意吗?在本周的第二届前端开发者大会上,由腾讯微信工程师公布了微信Android客户端机型前十的发布图,说的也是某款手机的存量跟用户活跃度的统计,在这张微信分…

postgresql9.4.4中文手册笔记-9.10 支持枚举函数

2019独角兽企业重金招聘Python工程师标准>>> 创建枚举类型 create type name as ENUM(zhao,qian,sun,li,zhou,wu, zheng,wang,cheng); 支持枚举函数 select enum_first(null::testenum); --查询枚举类型第一个元素 enum_first ------------zhao (1 row) select e…