selenium滑块拖动验证

  • 1.前言
  • 2.环境
  • 3.代码
  • 谢谢你的浏览(End)

1.前言

大学三年第一次の博客,最后几个月记录下成长轨迹⑧。
备战2021年10月底金砖数据分析与可视化技术应用赛项,记录这个月学习的部分爬虫知识。
共勉ε≡٩(๑>₃<)۶
参考bolg:https://www.jianshu.com/p/954eeb0face9
实验网站:携程 (https://passport.ctrip.com/user/login?)

2.环境

python 3.8.7
selenium 3.141.0

3.代码

导入本次要用到的两个库webdriver和ActionChains

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

导入驱动(本人使用的是谷歌浏览器所以导入的是谷歌驱动)

driver = webdriver.Chrome("chromedriver.exe")

设置等待时间

driver.implicitly_wait(20)

打开网页并使窗口最大化

driver.get("https://passport.ctrip.com/user/login?")
driver.maximize_window()

输入账号密码

account = "test"
password = "test"
driver.find_element_by_xpath('//*[@id="nloginname"]').send_keys(account)
driver.find_element_by_xpath('//*[@id="npwd"]').send_keys(password)

获取到滑块与滑块区域

btn= driver.find_element_by_xpath('//*[@id="sliderddnormal"]/div[1]/div[2]')
btn_area = driver.find_element_by_xpath('//*[@id="sliderddnormal"]')

执行拖动
这里使用到了ActionChains的drag_and_drop_by_offset方法
里面三个参数,分别是要拖动的元素、x与y轴的偏移量

ActionChains(driver).drag_and_drop_by_offset(btn,btn_area.size['width'],btn_area.size['height']).perform()

关于drag_and_drop_by_offset参数可以参考action_chains源代码

"""Holds down the left mouse button on the source element,then moves to the target offset and releases the mouse button.:Args:- source: The element to mouse down.- xoffset: X offset to move to.- yoffset: Y offset to move to."""

完整代码

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome("chromedriver.exe")
driver.implicitly_wait(20)
driver.get("https://passport.ctrip.com/user/login?")
driver.maximize_window()account = "test"
password = "test"
driver.find_element_by_xpath('//*[@id="nloginname"]').send_keys(account)
driver.find_element_by_xpath('//*[@id="npwd"]').send_keys(password)slider = driver.find_element_by_xpath('//*[@id="sliderddnormal"]/div[1]/div[2]')
slider_area = driver.find_element_by_xpath('//*[@id="sliderddnormal"]')ActionChains(driver).drag_and_drop_by_offset(slider,slider_area.size['width'],slider.size['height']).perform()

因为携程更新了反扒,所以执行完成后的结果应该如下

接下来的图片点击的验证我会后续完善(挖坑)

谢谢你的浏览(End)

selenium滑块拖动验证(携程)相关推荐

  1. Uipath实现简单的滑块拖动验证

    本篇文章主要介绍使用[Click]Activities这一个活动来实现拖动滑块的验证,为拖动滑块验证提供了一种思路.但只能应用于滑块从头滑到尾,不支持拼图的滑块验证. 说白了,这篇文章更像是介绍[Cl ...

  2. selenium 超级鹰 通过携程滑块和汉字验证码

    大概流程 1.进入页面点击同意按钮. 2.得到滑块和滑块区域的xpath 3.定位滑块,设置按住事件,进行拖动 4.xpath定位汉字图片,获取屏幕截图,保存本地 5.超级鹰识别图片返回汉字对应的坐标 ...

  3. html实现滑块拖动验证

    html代码部分: <div id="wrapper"><div id="drop_box"><span class=" ...

  4. vue 实现一个滑块拖动验证功能

    具体的代码如下: <!DOCTYPE html> <html><head><meta charset="UTF-8"><tit ...

  5. Selenium爬携程酒店评论+jieba数据分析实战

    如果你想使用最少的时间相对客观的了解一样事物,那么最好的方式就是快速收集大量的关于它的评价,然后迅速地找出这些评价中的关键信息. 而这道题目,有两个特别大的难点:1.如何快速收集大量的评论:2.如何迅 ...

  6. 携程手机版机票数据添加代理

    目录 携程手机版国内机票数据 携程手机版国际机票数据 携程网页版国内机票数据 携程网页版国际机票数据 去哪儿网手机版机票数据 去哪儿网网页版机票数据 携程手机版机票数据添加代理 去哪儿网网页版机票数据 ...

  7. Python破解携程点击文字验证

    本次使用到的知识 Python selenium模块 百度通用文字识别SDK的调用,api自己去申请,每天最多50次免费调用,文档地址:http://ai.baidu.com/docs#/OCR-AP ...

  8. 携程滑块,点选文字识别

    文章目录 code_datawhale05_xiecheng.py reslut code_datawhale06_bzhan_login.py result END code_datawhale05 ...

  9. JAVA爬虫爬取携程酒店数据selenium实现

    在爬取携程的时候碰到很多的壁垒,接下来分析所有过程 1.根据以往经验最初想到用jsoup去解析每个HTML元素,然后拿到酒店数据,然后发现解析HTML根本拿不到id为hotel_list的div,所以 ...

  10. java Selenium 滑块验证破解

    目标 前两天发现个好玩的工具Selenium,可以模拟人进行游览器操作,赶紧趁热打铁玩个小demo,滑块验证现在使用普遍,就是为了验证是否是机器人,但是这个是可以破解的,且听我娓娓道来 思路 计算滑块 ...

最新文章

  1. 赵雪轩:数据科学助力我的智能化航天梦 | 提升之路系列
  2. python中panel不接受参数_Python基础之只接收关键字参数的函数
  3. .NET实现SOA(1)
  4. 基于贝叶斯推断的分类模型 机器学习你会遇到的“坑”
  5. 360浏览器清除缓存_手机微信内置浏览器缓存清理指南
  6. 《Genesis-3D游戏引擎系列教程-进阶篇》10:动画融合
  7. 叠箱子问题 之 动态规划
  8. 林轩田机器学习基石笔记(第16节)——概率论与机器学习建立连接
  9. GPU硬件加速的原理
  10. 贴片电阻封装功率数据选型
  11. jquery 图片裁剪 java,jQuery实现图片上传和裁剪插件Croppie
  12. 在项目中如何做图片优化
  13. 养花追美女的java游戏,小米有品上架懒人鱼缸:上面养花 下面养鱼
  14. 学习使用jQuery中的on() 方法
  15. java不支持bks,java不支持bks
  16. 计算2个时间段的重叠天数
  17. 诺基亚牌WP7手机——蛮期待的
  18. 用函数求最大公约数c语言,C语言求最大公约数公式分享
  19. 冒泡排序法(C语言实现)
  20. 淘宝店铺倒计时代码促销倒计时代码装修代码店铺双十一双11倒计时代码生成器工具

热门文章

  1. 模型--vgg16.npy下载
  2. 51单片机--LED闪烁、流水灯的简单试验
  3. 写好一份属于自己的简历
  4. 淮北农村生活污水处理设备——十四五生态环境保护规划
  5. 前端实现街道地图_webgis前端地图功能展示
  6. 为什么Redis单线程却能支撑高并发?
  7. Python之quote() unquote()使用
  8. 图片像素、大小、分辨率的关系
  9. 咸鱼の软构实验感想(1)
  10. java 微信主动推送消息_java微信主动推送消息,java微信主动推送消息怎么实现?