全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python中Selenium模拟JQuery滑动解锁实例

本文介绍了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小时内与您取得联系。