selenium滑块拖动验证(携程)
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滑块拖动验证(携程)相关推荐
- Uipath实现简单的滑块拖动验证
本篇文章主要介绍使用[Click]Activities这一个活动来实现拖动滑块的验证,为拖动滑块验证提供了一种思路.但只能应用于滑块从头滑到尾,不支持拼图的滑块验证. 说白了,这篇文章更像是介绍[Cl ...
- selenium 超级鹰 通过携程滑块和汉字验证码
大概流程 1.进入页面点击同意按钮. 2.得到滑块和滑块区域的xpath 3.定位滑块,设置按住事件,进行拖动 4.xpath定位汉字图片,获取屏幕截图,保存本地 5.超级鹰识别图片返回汉字对应的坐标 ...
- html实现滑块拖动验证
html代码部分: <div id="wrapper"><div id="drop_box"><span class=" ...
- vue 实现一个滑块拖动验证功能
具体的代码如下: <!DOCTYPE html> <html><head><meta charset="UTF-8"><tit ...
- Selenium爬携程酒店评论+jieba数据分析实战
如果你想使用最少的时间相对客观的了解一样事物,那么最好的方式就是快速收集大量的关于它的评价,然后迅速地找出这些评价中的关键信息. 而这道题目,有两个特别大的难点:1.如何快速收集大量的评论:2.如何迅 ...
- 携程手机版机票数据添加代理
目录 携程手机版国内机票数据 携程手机版国际机票数据 携程网页版国内机票数据 携程网页版国际机票数据 去哪儿网手机版机票数据 去哪儿网网页版机票数据 携程手机版机票数据添加代理 去哪儿网网页版机票数据 ...
- Python破解携程点击文字验证
本次使用到的知识 Python selenium模块 百度通用文字识别SDK的调用,api自己去申请,每天最多50次免费调用,文档地址:http://ai.baidu.com/docs#/OCR-AP ...
- 携程滑块,点选文字识别
文章目录 code_datawhale05_xiecheng.py reslut code_datawhale06_bzhan_login.py result END code_datawhale05 ...
- JAVA爬虫爬取携程酒店数据selenium实现
在爬取携程的时候碰到很多的壁垒,接下来分析所有过程 1.根据以往经验最初想到用jsoup去解析每个HTML元素,然后拿到酒店数据,然后发现解析HTML根本拿不到id为hotel_list的div,所以 ...
- java Selenium 滑块验证破解
目标 前两天发现个好玩的工具Selenium,可以模拟人进行游览器操作,赶紧趁热打铁玩个小demo,滑块验证现在使用普遍,就是为了验证是否是机器人,但是这个是可以破解的,且听我娓娓道来 思路 计算滑块 ...
最新文章
- 赵雪轩:数据科学助力我的智能化航天梦 | 提升之路系列
- python中panel不接受参数_Python基础之只接收关键字参数的函数
- .NET实现SOA(1)
- 基于贝叶斯推断的分类模型 机器学习你会遇到的“坑”
- 360浏览器清除缓存_手机微信内置浏览器缓存清理指南
- 《Genesis-3D游戏引擎系列教程-进阶篇》10:动画融合
- 叠箱子问题 之 动态规划
- 林轩田机器学习基石笔记(第16节)——概率论与机器学习建立连接
- GPU硬件加速的原理
- 贴片电阻封装功率数据选型
- jquery 图片裁剪 java,jQuery实现图片上传和裁剪插件Croppie
- 在项目中如何做图片优化
- 养花追美女的java游戏,小米有品上架懒人鱼缸:上面养花 下面养鱼
- 学习使用jQuery中的on() 方法
- java不支持bks,java不支持bks
- 计算2个时间段的重叠天数
- 诺基亚牌WP7手机——蛮期待的
- 用函数求最大公约数c语言,C语言求最大公约数公式分享
- 冒泡排序法(C语言实现)
- 淘宝店铺倒计时代码促销倒计时代码装修代码店铺双十一双11倒计时代码生成器工具