本文介绍了Python中Selenium模拟JQuery滑动解锁实例,分享给大家,也给自己留个笔记

滑动解锁一直做UI自动化的难点之一,我补一篇滑动解锁的例子,希望能给初做Web UI自动化测试的同学一些思路。
首先先看个例子。
当我手动点击滑块时,改变的只是样式:
1、slide-to-unlock-handle 表示滑块,滑块的左边距在变大(因为它在向右移动嘛!)
2、Slide-tounlock-progress 表示滑过之后的背景黄色,黄色的宽度在增加,因为滑动经过的地方都变黄了。
除些之外,没其它任何变化了,所以我们利用鼠标的拖动貌似不行!因为鼠标的拖动是将一个元素移动到另一个元素上。这样:
# 定位元素的原位置
element = driver.find_element_by_id("xx")
# 定位元素要移动到的目标位置
target = driver.find_element_by_id("xx")
ActionChains(driver).drag_and_drop(element, target).perform()
但在我手动演示的过程中,元素的位置并没有发生变化。
接下来看我是怎么实现的。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import UnexpectedAlertPresentException
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.helloweba.com/demo/2017/unlock/")
dragger = driver.find_elements_by_class_name("slide-to-unlock-handle")[0]
action = ActionChains(driver)
action.click_and_hold(dragger).perform() #鼠标左键按下不放
for index in range(200):
try:
action.move_by_offset(2, 0).perform() #平行移动鼠标
except UnexpectedAlertPresentException:
break
action.reset_actions()
sleep(0.1) #等待停顿时间
# 打印警告框提示
success_text = driver.switch_to.alert.text
print(success_text)
sleep(5)
driver.quit()
driver.find_elements_by_class_name("slide-to-unlock-handle")[0]
首先,我要操作的页面上有好几个滑块,我先通过通过class属性找到所有的里面的第一个。
click_and_hold()
通过click_and_hold()方法对滑块按下鼠标左键。
move_by_offset()
接下来就是通过for循环动滑块的位置,move_by_offset()方法第一个参数是X轴,第二个参数是Y轴,单位为像素。因为是平行移动,所以Y设置为0。 X每次移动两2个像素。
当解锁成功后会抛UnexpectedAlertPresentException异常,捕捉后跳出循环。
每次循环休眠0.1秒,时间间隔越小,移动越顺滑哟!
核心的几步介绍完了,接下来就是获取警告框上面的提示信息并打印,然后关闭浏览器。
打印结果为:
successfully unlock!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Python
# 滑动解锁
# Selenium
# Selenium 滚动页面至元素可见的方法
# python+selenium行为链登录12306(滑动验证码滑块)
# python爬虫之利用selenium+opencv识别滑动验证并模拟登陆知乎功能
# python+opencv+selenium自动化登录邮箱并解决滑动验证的问题
# python使用selenium登录QQ邮箱(附带滑动解锁)
# python中的selenium实现自动向下滚动页面并指定最大滑动距离
# 滑块
# 鼠标
# 解锁
# 第一个
# 拖动
# 按下
# 鼠标左键
# 我要
# 在我
# 是怎么
# 上有
# 当我
# 提示信息
# 第二个
# 给大家
# 看我
# 我先
# 几步
# 能给
# 它在
相关文章:
如何高效完成自助建站业务培训?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
网站制作员失业,怎样查看自己网站的注册者?
网站按钮制作软件,如何实现网页中按钮的自动点击?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
开源网站制作软件,开源网站什么意思?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
安云自助建站系统如何快速提升SEO排名?
建站之星与建站宝盒如何选择最佳方案?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
如何获取上海专业网站定制建站电话?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何快速搭建响应式可视化网站?
微信小程序 五星评分(包括半颗星评分)实例代码
建站与域名管理如何高效结合?
如何通过.red域名打造高辨识度品牌网站?
如何在Golang中使用replace替换模块_指定本地或远程路径
如何正确下载安装西数主机建站助手?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
南京网站制作费用,南京远驱官方网站?
建站之星安装步骤有哪些常见问题?
如何通过建站之星自助学习解决操作问题?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
如何快速搭建自助建站会员专属系统?
如何用PHP工具快速搭建高效网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
怀化网站制作公司,怀化新生儿上户网上办理流程?
如何用狗爹虚拟主机快速搭建网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在搬瓦工VPS快速搭建网站?
如何在万网主机上快速搭建网站?
建站VPS能否同时实现高效与安全翻墙?
如何快速搭建FTP站点实现文件共享?
建站主机如何选?高性价比方案全解析
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
如何用花生壳三步快速搭建专属网站?
建站之星展会模版如何一键下载生成?
网站制作报价单模板图片,小松挖机官方网站报价?
如何在阿里云部署织梦网站?
模具网站制作流程,如何找模具客户?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何通过VPS建站无需域名直接访问?
南平网站制作公司,2025年南平市事业单位报名时间?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
建站之星后台密码遗忘?如何快速找回?
*请认真填写需求信息,我们会在24小时内与您取得联系。