编程网

iis服务器助手广告

扫码关注官方微信

扫码下载APP

返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现滑块验证码详解
  • 639

0

分享到

Python实现滑块验证码详解

2024-04-02 19:04:59 639人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本节要讲解如下图所示的滑块验证码(更为复杂的滑动拼图验证码在下一篇介绍)。这种验证码机制比较简单:将滑块拖动到滑轨的最右端即可完成验证,如下图所示。如果未将滑块拖动到滑轨的最右端,则

本节要讲解如下图所示的滑块验证码(更为复杂的滑动拼图验证码在下一篇介绍)。这种验证码机制比较简单:将滑块拖动到滑轨的最右端即可完成验证,如下图所示。如果未将滑块拖动到滑轨的最右端,则无法通过验证,验证失败后滑块会回到起始位置。

其中的关键是需要用 selenium库模拟鼠标拖动滑块滑动一定的距离。因为滑块的起始位置和滑轨的起始位置相同,所以滑块需要移动的距离等于滑轨的跨度减去滑块的宽度。下面就来利用 开发工具查看滑轨和滑块的宽度。

在浏览器中打开本书配套代码文件中为滑块验证码搭建的本地网页文件“index. html”,打开开发者工具,然后用元素选择按钮选中整个滑轨,此时的界面如下图所示。可以看到其中显示了滑轨的尺寸和颜色等属性。要查看滑轨的尺寸,有两种方法:图中箭头所示。

滑块宽度的查看方法和滑轨相同,用元素选择工具选中滑块,可以看到滑块的宽度。由此可知需要模拟滑动的距离为260像素。

下图开始编写代码。首先用Selenium库打开网页,代码如下:

from selenium import  WEBdriver
browser = webdriver.Chrome()
url = r'D:\works\ python_crawl1\《 python爬虫(进阶与进通)》代码汇总\2.验证码反爬\3.滑块验证码\index.html'
browser.get(url) #用模拟浏览器打开网页

然后用Selenium定位滑块,代码如下:

huaku ai = browser.find_element_by_xpath('//*[@id="code-box"]/span')

定位到滑块后,就可以准备拖动滑块了。在拖动过程中要保持鼠标为按下状态,不能过早松开鼠标,所以不能使用click()函数。Selenium库提供了一个Act ionChains模块,其中的click_and_hold()函数可以使鼠标保持按下状态,release()函数可以松开鼠标,move_by_offset()函数可以使鼠标移动。结合使用这些函数即可将滑块拖动一定距离,代码如下:

action = webdriver.ActionChains(browser) # 启动动作链
action.click_and_hold(huakuai).perf ORM() #按住滑块
action.move_by_offset(260,0) #移动滑块,其中的260是之前计算出来的需要滑动的距离
action.release().perform() #释放滑块

完整代码如下,其中还用time库的sleep()函数在模拟滑动前等待两秒,以便观察滑动效果。

from selenium import webdriver
import time
# 1.访问网址
browser = webdriver.Chrome()
url = r'D:\works\ Python_crawl1\《Python 爬虫(进阶与进通)》代码汇总\2.验证码反爬\3.滑块验证码\index.html'
browser.get(url) #用模拟浏览器打开网页
# 2.定位滑块
huakuai = browser.find_element_by_xpath('//*[@id="code-box"]/span')
# 3.开始滑动
action = webdriver.ActionChains(browser) # 启动动作链
action.click_and_hold(huakuai).perform() #按住滑块
time.sleep(2)
action.move_by_offset(260,0) #移动滑块,其中的260是之前计算出来的需要滑动的距离
action.release().perform() #释放滑块

最终运行结果如下图所示,模拟滑块成功。

需要注意的是,现在有一些含有滑块验证码的网页会检测当前浏览器是否为Selenium库的webdriver模拟浏览器,如果是的话,便很难模拟滑动成功。这种反爬机制已经不是验证码反爬,而是webdriver反爬,处理起来比较困难。这里有一个讨巧的解决方法:如果登录阶段需要进行滑动验证(如淘宝的登录),那么可以在代码中用time.sleep()等待一段时间,在这段时间内用其他方式手动登录,如手动扫码登录,登录成功后再用Selenium库继续爬取。

到此这篇关于Python实现滑块验证码详解的文章就介绍到这了,更多相关Python滑块验证码内容请搜索 编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

>软考高级考试备考技巧/历年真题/备考精华资料">点击免费下载>>软考高级考试备考技巧/历年真题/备考精华资料

--结束END--

本文标题: Python实现滑块验证码详解

本文链接: http://www.lsjlt.com/news/117727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
去做题
猜你喜欢
  • Python实现滑块验证码详解
    本节要讲解如下图所示的滑块验证码(更为复杂的滑动拼图验证码在下一篇介绍)。这种验证码机制比较简单:将滑块拖动到滑轨的最右端即可完成验证,如下图所示。如果未将滑块拖动到滑轨的最右端,则...
    99+
    2024-04-02
  • Python实现滑块拼图验证码详解
    目录初级版滑块拼图验证码补充知识点高级版滑动拼图验证码滑动拼图验证码可以算是滑块验证码的进阶版本,其验证机制相对复杂。本节将介绍两种滑动拼图验证码:初级版和高级版本。 初级版滑块拼...
    99+
    2024-04-02
  • python 密码验证(滑块验证)
    目录题目描述:解题思路/算法分析/问题及解决实验代码题目描述: (1)模拟登陆界面,判别用户名和密码,给出合适的提示,如果超过三次,锁定输入。用代替密码;或者最新输入显示,前面的变成...
    99+
    2024-04-02
  • SpringBoot实现滑块验证码验证登陆校验功能详解
    目录前言一、实现效果二、实现思路三、实现步骤1. 后端 java 代码1.1 新建一个拼图验证码类1.2 新建一个拼图验证码工具类1.3 新建一个 service 类1.4 新建一个...
    99+
    2024-04-02
  • JavaScript实现滑块验证码
    本文实例为大家分享了JavaScript实现滑块验证码的具体代码,供大家参考,具体内容如下 效果:鼠标在底部滑块上按下按住不松拖动可以移动滑块,上面大图里面带有小图背景的滑块也会跟随...
    99+
    2024-04-02
  • python滑块验证码如何破解
    很抱歉,我不能提供关于破解滑块验证码的信息。这是不道德且违法行为,违反了网站的服务条款和法律法规。我鼓励尊重和遵守所有的在线服务和法...
    99+
    2023-08-24
    python
  • Java实现滑块拼图验证码
    本文实例为大家分享了Java实现滑块拼图验证码的具体代码,供大家参考,具体内容如下 1、后端随机生成抠图和带有抠图阴影的背景图片,后台保存随机抠图位置坐标 2、前端实现滑动交互,将抠...
    99+
    2024-04-02
  • JS 简单实现滑块验证码
    目录开篇:一、实现效果styleScript二、总结与思考开篇: 拖动底部滑块,实现滑块验证码功能 一、实现效果 style *{ margin: 0; padd...
    99+
    2023-05-14
    JS 滑块验证码 JS 验证码
  • JS怎么实现滑块验证码
    本篇内容介绍了“JS怎么实现滑块验证码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!style*{   &nb...
    99+
    2023-07-05
  • 怎么用JavaScript实现滑块验证码
    本篇内容主要讲解“怎么用JavaScript实现滑块验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用JavaScript实现滑块验证码”吧!效果:鼠标在底部滑块上按下按住不松拖动可以移...
    99+
    2023-06-25
  • OpenCV结合selenium实现滑块验证码
    本次案例使用OpenCV和selenium来解决一下滑块验证码 先说一下思路: 弹出滑块验证码后使用selenium元素截图将验证码整个背景图截取出来 将需要滑动...
    99+
    2024-04-02
  • Flutter实现滑动块验证码功能
    Flutter实现滑动块验证码功能,供大家参考,具体内容如下 本文实现的是一个用于登录时,向右滑动滑动块到最右边完成验证的一个功能。当滑动未到最右边时,滑动块回弹回左边起始位置。 ...
    99+
    2024-04-02
  • python如何实现腾讯滑块验证码识别
    小编给大家分享一下python如何实现腾讯滑块验证码识别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2...
    99+
    2023-06-14
  • js canvas实现滑块验证
    本文实例为大家分享了js canvas实现滑块验证的具体代码,供大家参考,具体内容如下 滑块验证 话不多说先上代码想用的小伙伴可以直接使用,想了解的我后面会说下我的思路 <...
    99+
    2024-04-02
  • 用selenium解决滑块验证码的实现步骤
    目录前言实现步骤1. 用selenium打开浏览器浏览指定网站1.1 找到chromedriver.exe的路径1.2 代码2.将残缺块图片和背景图片下载到本地2.1 找到图片位置2...
    99+
    2023-02-14
    selenium 滑动验证码 selenium 滑块验证 滑块验证码自动识别
  • 用selenium解决滑块验证码
    前言 因为种种原因没能实现愿景的目标,在这里记录一下中间结果,也算是一个收场吧。这篇博客主要是用selenium解决滑块验证码的个别案列。 思路: 用selenium打开浏览器指定网站将残缺块图片和背...
    99+
    2023-09-04
    selenium chrome python
  • Python爬虫怎么破解滑块验证码
    这篇文章主要介绍“Python爬虫怎么破解滑块验证码”,在日常操作中,相信很多人在Python爬虫怎么破解滑块验证码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python爬虫怎么破解滑块验证码”的疑惑有所...
    99+
    2023-06-20
  • selenium+opencv实现滑块验证码的登陆
    目录环境selenium登录网站requests抓取验证码图片OpenCV识别缺口位置模拟拖动滑块脚本示例:很多网站登录登陆时都要用到滑块验证码,在某些场景例如使用爬虫爬取信息时常常...
    99+
    2023-05-15
    selenium opencv滑块验证码 opencv滑块验证码
  • vue实现简单滑块验证
    本文实例为大家分享了Vue滑块验证的实现,代码如下 <template> <div class="drag" ref="dragDiv">...
    99+
    2024-04-02
  • JavaScript实现滑块验证案例
    本文实例为大家分享了JavaScript实现滑块验证的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en">  ...
    99+
    2024-04-02
软考高级职称资格查询
iis服务器助手广告
软考职称历年真题下载
  • 2023下半年-信息系统项目管理师-真题考点汇总(完整版)
    164.2 KB   查看
  • 2023年下半年信息系统项目管理师第一、二批次各科目真题考点整理(考友回忆版)
    143.67 KB   查看
  • 2023上半年软考高级《信息系统项目管理师》真题答案(抢先版)
    500.26 KB   查看
  • 2022年下半年软考高级职称考试考情分析
    823.36 KB   查看
  • 2022年下半年软考高级职称考试真题
    569.84 KB   查看
软考职称资料下载
  • 2023下半年-系统集成项目管理工程师-真题考点汇总(完整版)
    143.91 KB   查看
  • 2023年下半年系统集成项目管理工程师第一、二、三批次真题考点整理(考友回忆版)
    183.71 KB   查看
  • 2023年上半年软考中级《系统集成项目管理工程师》-基础知识-考试真题及答案
    644.84 KB   查看
  • 2023年上半年软考中级《系统集成项目管理工程师》-应用技术-考试真题及答案
    314.7 KB   查看
  • 2023年下半年第一二批次系统集成项目管理工程师《案例分析》真题考点
    115.57 KB   查看
热门标签
  • 祝福 云返佣 个体户 废了 元钱啊 免费网 go框架 应用程序开发 编码安全 面向电商 数组引用 varargs 框架优化 函数处理 返回值类型推导 提高项目效率 可扩展应用程序 大脑训练 Gemma 域名交易出售 游戏沙盒 开放世界 不适合 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 前端
  • 后端
  • 数据库
  • 服务器
  • 操作系统
  • 商务合作:279061341@qq.com
  • 网站地图
  • 投稿合作:279061341@qq.com
  • 标签大全
  • 虚位以待
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by 编程网 | Copyright © 2018-2023, 版权所有. | 网站地图 | 苏ICP备17033115号

深圳SEO优化公司周口百度网站优化排名通化建网站价格沈阳SEO按天收费价格十堰关键词按天扣费推荐福州建网站哪家好阿里英文网站建设价格滨州SEO按效果付费报价和县网站搜索优化哪家好大同关键词按天计费价格邵阳网站推广系统哪家好宝安营销网站推荐木棉湾SEO按天计费贵港网站seo优化哪家好武威seo网站推广遵义网站推广系统哪家好焦作seo网站优化哪家好河源网站建设哪家好广东百搜标王价格湛江百度竞价包年推广哪家好乌海关键词按天计费报价黄石外贸网站建设哪家好平湖网站关键词优化黑河关键词按天计费价格大浪关键词按天计费报价阿里建网站推荐淮安seo公司苏州至尊标王报价中山seo排名报价铜陵seo网站推广报价遂宁关键词排名包年推广推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化