国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中Selenium模擬JQuery滑動解鎖實例

2020-01-04 17:04:51
字體:
來源:轉載
供稿:網友

本文介紹了Python中Selenium模擬JQuery滑動解鎖實例,分享給大家,也給自己留個筆記

滑動解鎖一直做UI自動化的難點之一,我補一篇滑動解鎖的例子,希望能給初做Web UI自動化測試的同學一些思路。

首先先看個例子。

Python,滑動解鎖,Selenium

當我手動點擊滑塊時,改變的只是樣式:

1、slide-to-unlock-handle 表示滑塊,滑塊的左邊距在變大(因為它在向右移動嘛?。?/p>

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 webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.common.exceptions import UnexpectedAlertPresentExceptionfrom time import sleepdriver = 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.textprint(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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐陵市| 峨山| 舒兰市| 永新县| 会泽县| 齐齐哈尔市| 烟台市| 德庆县| 应城市| 淮南市| 水富县| 田东县| 长子县| 濮阳县| 贵州省| 海城市| 江城| 丰顺县| 万盛区| 蓬安县| 图们市| 株洲市| 绥化市| 奇台县| 延吉市| 扎兰屯市| 米林县| 漠河县| 遂昌县| 东源县| 平潭县| 三门县| 金湖县| 昔阳县| 台南市| 河池市| 商都县| 建水县| 大同县| 寿宁县| 扶绥县|