最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年07月26日 09:30:48   作者:蟲師  
這篇文章主要介紹了Python中Selenium模擬JQuery滑動解鎖實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

首先先看個例子。

當(dāng)我手動點擊滑塊時,改變的只是樣式:

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

2、Slide-tounlock-progress 表示滑過之后的背景黃色,黃色的寬度在增加,因為滑動經(jīng)過的地方都變黃了。

除些之外,沒其它任何變化了,所以我們利用鼠標(biāo)的拖動貌似不行!因為鼠標(biāo)的拖動是將一個元素移動到另一個元素上。這樣:

# 定位元素的原位置
element = driver.find_element_by_id("xx")
# 定位元素要移動到的目標(biāo)位置
target = driver.find_element_by_id("xx")

ActionChains(driver).drag_and_drop(element, target).perform()

但在我手動演示的過程中,元素的位置并沒有發(fā)生變化。

接下來看我是怎么實現(xiàn)的。

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() #鼠標(biāo)左鍵按下不放

for index in range(200):
  try:
    action.move_by_offset(2, 0).perform() #平行移動鼠標(biāo)
  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()方法對滑塊按下鼠標(biāo)左鍵。

move_by_offset()

接下來就是通過for循環(huán)動滑塊的位置,move_by_offset()方法第一個參數(shù)是X軸,第二個參數(shù)是Y軸,單位為像素。因為是平行移動,所以Y設(shè)置為0。 X每次移動兩2個像素。

當(dāng)解鎖成功后會拋UnexpectedAlertPresentException異常,捕捉后跳出循環(huán)。

每次循環(huán)休眠0.1秒,時間間隔越小,移動越順滑喲!

核心的幾步介紹完了,接下來就是獲取警告框上面的提示信息并打印,然后關(guān)閉瀏覽器。

打印結(jié)果為:

successfully unlock!

 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 詳解Python GUI工具取色器

    詳解Python GUI工具取色器

    作為Python開發(fā)者,你遲早都會用到圖形用戶界面來開發(fā)應(yīng)用。本文將推薦Python GUI工具取色器的一些知識,感興趣的朋友一起看看吧
    2021-06-06
  • 詳解tf.device()指定tensorflow運行的GPU或CPU設(shè)備實現(xiàn)

    詳解tf.device()指定tensorflow運行的GPU或CPU設(shè)備實現(xiàn)

    這篇文章主要介紹了詳解tf.device()指定tensorflow運行的GPU或CPU設(shè)備實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python易忽視知識點小結(jié)

    Python易忽視知識點小結(jié)

    這篇文章主要介紹了Python易忽視知識點,實例分析了Python中容易被忽視的常見操作技巧,需要的朋友可以參考下
    2015-05-05
  • Python深度學(xué)習(xí)線性代數(shù)示例詳解

    Python深度學(xué)習(xí)線性代數(shù)示例詳解

    這篇文章主要為大家講解了Python深度學(xué)習(xí)中線性代數(shù)的示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • python使用gTTS實現(xiàn)文本轉(zhuǎn)語音功能

    python使用gTTS實現(xiàn)文本轉(zhuǎn)語音功能

    gTTS(Google?Text-to-Speech),?這個庫是Google的Text-to-Speech?API的一個接口,提供了一種簡單的方式來生成聽起來自然的語言,下面我們就來看看如何使用gTTS實現(xiàn)文本轉(zhuǎn)語音功能吧
    2024-03-03
  • Pycharm 如何一鍵加引號的方法步驟

    Pycharm 如何一鍵加引號的方法步驟

    這篇文章主要介紹了Pycharm 如何一鍵加引號的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python基礎(chǔ)之元編程知識總結(jié)

    Python基礎(chǔ)之元編程知識總結(jié)

    很多人不理解“元編程”是個什么東西,關(guān)于它也沒有一個十分準(zhǔn)確的定義.這篇文章要說的是Python里的元編程,實際上也不一定就真的符合“元編程”的定義.只不過我無法找到一個更準(zhǔn)確的名字來代表這篇文章的主題,所以就借了這么一個名號,需要的朋友可以參考下
    2021-05-05
  • Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    Python?PyQt5中窗口數(shù)據(jù)傳遞的示例詳解

    開發(fā)應(yīng)用程序時,若只有一個窗口則只需關(guān)心這個窗口里面的各控件之間如何傳遞數(shù)據(jù)。如果程序有多個窗口,就要關(guān)心不同的窗口之間是如何傳遞數(shù)據(jù)。本文介紹了PyQt5中三種窗口數(shù)據(jù)傳遞,需要的可以了解一下
    2022-12-12
  • Python中使用Pygal繪制世界地圖并添加交互功能

    Python中使用Pygal繪制世界地圖并添加交互功能

    Pygal 是一個Python庫,它提供了創(chuàng)建各種類型地圖的工具,包括世界地圖,本文將詳細介紹如何使用 Pygal 繪制世界地圖,并展示一些豐富的示例代碼,
    2024-01-01
  • python interpolate插值實例

    python interpolate插值實例

    這篇文章主要介紹了python interpolate插值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論

阳山县| 滦南县| 金溪县| 塔河县| 东方市| 南充市| 乳源| 鲜城| 孟州市| 安新县| 吉木萨尔县| 定结县| 镇江市| 兴仁县| 桐梓县| 化隆| 南皮县| 扎兰屯市| 临高县| 芦山县| 柘城县| 安塞县| 奉化市| 涿州市| 康平县| 山东| 北辰区| 甘洛县| 清流县| 宕昌县| 河南省| 黄龙县| 农安县| 民勤县| 庄浪县| 林西县| 临安市| 德令哈市| 宁明县| 嘉祥县| 新乡市|