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

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

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

**

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

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.然后跳转到登录视图

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

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

3.滑动验证条:

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 实现自动登录+点击+滑动验证内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值