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,一经查实,立即删除!

相关文章

js 字符ascii码转换函数

字符转ascii码&#xff1a;用charCodeAt();ascii码砖字符&#xff1a;用fromCharCode(); 看一个小例子<script>str"A";code str.charCodeAt(); str2 String.fromCharCode(code);str3 String.fromCharCode(0x6026);document.write(code<br />);documen…

【生活智慧】005.信守诺言的约束

《塔木德》指出&#xff0c;信守诺言的约束&#xff0c;重视集体的力量&#xff0c;永远怀着必胜的信念的等&#xff0c;都有助于一个人获得成功。 下面的故事生动地诠释了这些使很多犹太人受益一生的原则。 丛林中走出了四个男人&#xff0c;他们蓬头垢面&#xff0c;衣衫褴褛…

python c 语言接口,## 人生苦短我用python[0x08] 使用ctypes调用c语言接口 ##

文章内容为原创&#xff0c;欢迎转载请注明出处作者&#xff1a; EflyPro->晦明禅师1.背景python作为解析语言大规模应用在各个领域&#xff0c;c语言作为系统级别的语言广泛应用在基础&#xff0c;系统&#xff0c;网络等底层服务当中&#xff0c;可以说python和c语言之间各…

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

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

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

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

XML 测验

您的回答&#xff1a; 1.XML指的是&#xff1f; 您的回答&#xff1a;eXtensible Markup Language 2.XML对数据进行描述的方式是&#xff1f; 您的回答&#xff1a;XML使用描述节点类描述数据 正确答案&#xff1a;XML使用DTD来描述数据 3.XML的目标是取代HTML 您的回答&#x…

【unity3d游戏开发之基础篇】利用射线实现鼠标控制角色转向和移动(角色移动一)...

由于最近搞2D游戏&#xff0c; 下面的代码配合NGUI来使用 。。。 将代码拖到角色身上就OK&#xff0c; 实现了角色转向、移动 &#xff0c;想看效果的可以将代码下下来~ 用到了向量来计算角度 以及方向&#xff0c; 得恶补下向量知识了 。。。 代码参考&#xff1a; 1 using…

QtCreator添加图片资源

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

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

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

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

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

c语言输出去掉最后一行回车,新人提问:如何将输出时每行最后一个空格删除...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼如何将每行最后一个空格删除&#xff0c;使矩阵只有数字间有空格&#xff0c;没有多余空格&#xff1f;#include#includeint main(){int i,j,k,m,n,x,h,y;int a[15][15]{0};while(scanf("%d",&i)){k1;for(n1;n<i;…

评论时间戳格式化

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

在.net3.5中使用ListView控件和DataPager控件笔记

演练&#xff1a;使用 ListView Web 服务器控件修改数据 演练&#xff1a;使用 ListView Web 服务器控件对数据进行显示、分页和排序 DataPager 控件 注意DataPager控件只能和ListView控件使用,不能和其他数据绑定控件使用! 以下ListView 里面的代码都是按照上面链接里面说的步…

android lint工作机制,Android架构

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

ComboBox 强制转换为大写的方法

最近遇到如何将输入在组合框&#xff08;ComboBox&#xff09;中的英文字符转换为大写的问题。 在TextBox中&#xff0c;有CharacterCasing属性&#xff0c;直接设置为Upper即可。但是在ComboBox中没有此属性&#xff0c;所以要另找其他方法。 直觉告诉我&#xff0c;一定是在K…

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

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

数据的交换输出【杭电-2016】 附题

/* 数据的交换输出 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 54495 Accepted Submission(s): 20688 Problem Description 输入n(n<100)个数。找出当中最小的数&#xff0c;将它与最前面的数交换后输出…

进程速查手册

进程速查手册 什么是系统进程&#xff1f;它能做什么&#xff1f; 进程是程序在计算机上的一次执行活动。当你运行一个程序&#xff0c;你就启动了一个进程。显然&#xff0c;程序是死的(静态的)&#xff0c;进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成…

android画布一闪一闪的,解决Android SurfaceView绘制触摸轨迹闪烁问题的方法

本文分享了解决SurfaceView触摸轨迹闪烁问题的方法&#xff0c;供大家参考&#xff0c;具体内容如下第一种解决SurfaceView触摸轨迹闪烁问题的方法&#xff1a;由于SurfaceView使用双缓存机制&#xff0c;两张画布轮流显示到屏幕上。那么&#xff0c;要存储触摸轨迹并避免两张画…

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

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