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)

相关推荐

  • 使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

    最近终于找到一个好的方法,使用Python的OpenCV模块识别滑动验证码的缺口,可以将滑动验证码中的缺口识别出来了. 测试使用如下两张图片: target.jpg template.png 现在想要通过"template.png"在"target.jpg"中找到对应的缺口,代码实现如下: # encoding=utf8 import cv2 import numpy as np def show(name): cv2.imshow('Show', name) cv

  • selenium+python实现自动登录脚本

    os:windows 前提:Python,selenium,IEDriverServer.exe,ie浏览器 首先安装Python2.7 安装成功后,计算机联网状态下在cmd命令行下输入:pip install -U selenium selenium安装后,在selenium官网下载IEDriverServer.exe 将IEDriverServer.exe放到ie浏览器的安装目录下:C:\Program Files (x86)\Internet Explorer,并将该目录添加到计算机的环境

  • python爬虫之验证码篇3-滑动验证码识别技术

    滑动验证码介绍 本篇涉及到的验证码为滑动验证码,不同于极验证,本验证码难度略低,需要的将滑块拖动到矩形区域右侧即可完成. 这类验证码不常见了,官方介绍地址为:https://promotion.aliyun.com/ntms/act/captchaIntroAndDemo.html 使用起来肯定是非常安全的了,不是很好通过机器检测 如何判断验证码类型 这个验证码的标识一般比较明显,在页面源码中一般存在一个 nc.js 基本可以判定是阿里云的验证码了 <script type="text/j

  • python验证码识别教程之滑动验证码

    前言 上篇文章记录了2种分割验证码的方法,此外还有一种叫做"滴水算法"(Drop Fall Algorithm)的方法,但本人智商原因看这个算法看的云里雾里的,所以今天记录滑动验证码的处理吧.网上据说有大神已经破解了滑动验证码的算法,可以不使用selenium来破解,但本人能力不足还是使用笨方法吧. 基础原理很简单,首先点击验证码按钮后的图片是滑动后的完整结果,点击一下滑块后会出现拼图,对这2个分别截图后比较像素值来找出滑动距离,并结合selenium来实现拖拽效果. 至于seleni

  • python+selenium实现京东自动登录及秒杀功能

    本文实例为大家分享了selenium+python京东自动登录及秒杀的代码,供大家参考,具体内容如下 运行环境: python 2.7 python安装selenium 安装webdriver(这里是firefox) 其中selenium可以采用pip安装: pip install selenium webdriver下载地址 需要注意的是,webdriver的目录.对应浏览器的目录,都要添加到path. 代码如下: # _*_coding:utf-8_*_ from selenium impo

  • python实现二维码扫码自动登录淘宝

    一个小项目自动登录淘宝联盟抓取数据,由于之前在Github上看过类似用Python写的代码因此选择用Python来写,第一次用Python正式写程序还是被其"简单"所震撼,当然用的时候还是对其(2.7版)编码.迁移环境等问题所困扰,还好后来都解决了. 言归正传,抓取淘宝联盟的数据首先要解决的就是登录的问题,之前一般会碰到验证码的困扰,现在支持二维码扫码登录反而简单了,以下是登录的Python代码,主要是获取二维码打印,然后不断的检查扫码状态,如果过期了重新请求二维码(主要看逻辑,由于有

  • Python 实现自动登录+点击+滑动验证功能

    需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了 在这里我模拟了csdn的登录过程 ** 1**.首先打开网页,用户名+密码登录,然后定位用户名输入框,和密码输入框,输入后 点击登陆 弹出验证滑动条 def __init__(self): self.url = 'https://passport.csdn.net/login' self.browser = webdriver.Chrome() #获取登录按钮对象 选择 账号密码登录 def get_pa

  • python实现自动登录人人网并访问最近来访者实例

    本文实例讲述了python实现自动登录人人网并访问最近来访者的方法,分享给大家供大家参考. 具体方法如下: ##-*- coding : gbk -*- #在 import os from xml.dom import minidom import re import urllib import urllib2 import cookielib import datetime import time from urllib2 import URLError,HTTPError #登录模块 在网上

  • Python实现自动登录百度空间的方法

    本文实例讲述了Python实现自动登录百度空间的方法.分享给大家供大家参考,具体如下: 开发环境:Fedora12 + Python2.6.2 #!/usr/bin/python # coding: GBK import urllib,urllib2,httplib,cookielib def auto_login_hi(url,name,pwd): url_hi="http://passport.baidu.com/?login" #设置cookie cookie=cookielib

  • python实现自动登录人人网并采集信息的方法

    本文实例讲述了python实现自动登录人人网并采集信息的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python # -*- coding: utf-8 -*- import sys import re import urllib2 import urllib import cookielib class Renren(object): def __init__(self): self.name = self.pwd = self.content = self.doma

  • python实现自动登录后台管理系统

    本文实例为大家分享了python实现自动登录后台管理系统的具体代码,供大家参考,具体内容如下 首先感谢下网络上的各位大神和博主,通过学习各位大神的文章,才实现了该脚本 ①首先浏览器运行真是系统通过fiddler抓包,抓取到登录地址(后面的地址和头部信息等都是通过fiddler抓取的) 并获取头信息,header信息里面Accept-Encoding: gzip, deflate去掉吧,免得后面提取页面的url时无法解码,通过代码实现后,这个时候回返回html文本,从文本里面获取下一步要进入的系统

  • Android通过SharedPreferences实现自动登录记住用户名和密码功能

    最近Android项目需要一个自动登录功能,完成之后,特总结一下,此功能依靠SharedPreferences进行实现. SharedPreferences简介 SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现

  • selenium+python实现自动登陆QQ邮箱并发送邮件功能

    本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮箱登录地址为:https://mail.qq.com/ from selenium import webdriver import time zhengyi = webdriver.Chrome() zhengyi.get('https://mail.qq.com/') 这一步没有遇到问题,至于为什

  • vue实现图片滑动验证功能

    图片滑动验证,是目前比较常见的验证方式,主要目的是防止用户利用机器人自动注册.登录.灌水. 目前vue技术日趋成熟,已经有专门针对图片滑动验证功能的插件了.具体使用方式如下: 1.安装插件——npm install --save vue-monoplasty-slide-verify 注意此处的--save也就是简化版的-s,是为了将下载的插件保存到package.json中的depencedies中,这样其他人在下载你的项目后,依然可以通过npm install将插件安装到node_modul

  • Python通过Django实现用户注册和邮箱验证功能代码

    本文主要向大家分享了Python编程中通过Django模块实现用户注册以及邮箱验证功能的简单介绍及代码实现,具体如下. 用户注册: 类似于用户登陆,同样在users.views.py中添加RegisterView(View)类,其中对表单的get和post作出处理. 如果是get方法,重新返回register页面让用户进行填写. def get(self, request): register_form = RegisterForm() return render(request, "regis

  • Python使用装饰器模拟用户登陆验证功能示例

    本文实例讲述了Python使用装饰器模拟用户登陆验证功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 user_list = [ {'name':'ad1','passwd':'123'}, {'name':'ad2','passwd':'123'}, {'name':'ad3','passwd':'123'}, {'name':'ad4','passwd':'123'} ] #初始状态,用来保存登陆的用户, client_dic = {'

随机推荐