国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

「Python|Selenium|場景案例」如何模擬鼠標單擊、雙擊、右擊、長按和拖拽等操作?

這篇具有很好參考價值的文章主要介紹了「Python|Selenium|場景案例」如何模擬鼠標單擊、雙擊、右擊、長按和拖拽等操作?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文主要介紹如何在使用selenium進行自動化測試的時候模擬各種鼠標操作。

場景描述

在進行自動化測試的時候,我們可能會需要需要進行鼠標操作的場景,比如:

  • 測試右擊,查看是否網(wǎng)頁是否屏蔽了右鍵菜單
  • 面對滑塊式登錄驗證方式,模擬拖拽
  • 模擬前進或后退等鼠標擴展操作
  • ……

解決方案

python的第三方庫selenium中已經(jīng)提供了許多現(xiàn)成的鼠標操作方法,包括鼠標能進行的三種操作:點擊、釋放、移動。以及提供了這三種操作常見的組合操作,我們需要查看我們需要的組合操作是否已經(jīng)由selenium提供,對于沒有現(xiàn)成方法的操作,需要將我們要進行的鼠標操作分解成這些已經(jīng)有現(xiàn)成方法的鼠標操作的組合。

selenium中模擬鼠標操作需要依靠ActionChains()方法,這個方法用來模擬各種外部設(shè)備(虛擬設(shè)備)的操作(比如鍵盤、鼠標、手寫筆、滾輪等等),操作如下:

  • 導(dǎo)入AcitionAPI:from selenium.webdriver.common.action_chains import ActionChains

  • 左鍵單擊(點擊后釋放):ActionChains(web_driver).click(page_element).perform()

  • 右鍵單擊:ActionChains(web_driver).context_click(page_element).perform()

  • 左鍵雙擊:ActionChains(web_driver).double_click(page_element).perform()

  • 移動到指定的頁面元素上(懸浮):ActionChains(web_driver).move_to_element(page_element).perform()

  • 后退(擴展鍵):

    • selenium 3的版本中不支持,需要升級到selenium 4
    • 版本號通過print(selenium.__version__)查看
    • 創(chuàng)建組合鍵生成器:action = ActionBuilder(web_driver)
    • 按下后退鍵:action.pointer_action.pointer_down(MouseButton.BACK)
    • 釋放后退鍵:action.pointer_action.pointer_up(MouseButton.BACK)
    • 執(zhí)行組合鍵:action.perform()
  • 前進(擴展鍵):

    • selenium 3的版本中不支持,需要升級到selenium 4
    • 創(chuàng)建組合鍵生成器:action = ActionBuilder(web_driver)
    • 按下前進鍵:action.pointer_action.pointer_down(MouseButton.FORWARD)
    • 釋放前進鍵:action.pointer_action.pointer_up(MouseButton.FORWARD)
    • 執(zhí)行組合鍵:action.perform()
  • 按下左鍵后不松開:ActionChains(web_driver).click_and_hold(page_element).perform()

  • 移動指定距離:ActionChains(web_driver).move_by_offset(橫向距離, 豎向距離)

  • 將指定元素拖拽到目標區(qū)域:

    • ActionChains(web_driver).drag_and_drop(要拖拽的頁面元素,代表目標區(qū)域的頁面元素).perform()
    • 代表目標區(qū)域的元素跟要拖拽的頁面元素一樣通過find_element定位
  • 拖拽元素移動一定距離:

    • ActionChains(web_driver).drag_and_drop_by_offset(要拖拽的元素, 橫向移動距離, 豎向移動距離).perform()
  • 鼠標中鍵點擊:

    • 創(chuàng)建組合鍵生成器:action = ActionBuilder(web_driver)
    • 按下中鍵:action.pointer_action.pointer_down(MouseButton.MIDDLE)
    • 釋放中鍵:action.pointer_action.pointer_up(MouseButton.MIDDLE)
    • 執(zhí)行組合鍵:action.perform()

具體代碼

我們以如下滑塊驗證為例:
「Python|Selenium|場景案例」如何模擬鼠標單擊、雙擊、右擊、長按和拖拽等操作?

假設(shè)滑塊的id為slide-1,則可以用如下代碼將滑塊按住后往左移動300,使得通過驗證:

from selenium.webdriver.common.action_chains import ActionChains


slide = web_driver.find_element_by_id("slide-1") # selenium 3.x.x 的寫法
slide = web_driver.find_element("id", "slide-1") # selenium 4.x.x 的寫法
ActionChains(web_driver).drag_and_drop_by_offset(slide, 300, 0).perform()

滑動完成后效果如下:
「Python|Selenium|場景案例」如何模擬鼠標單擊、雙擊、右擊、長按和拖拽等操作?
如果要處理的滑塊驗證在iframe標簽中,記得先定位并切換到iframe元素中,然后再進行操作。快去試試吧~

好書推薦:

  • 流暢的python
  • Python編程 從入門到實踐 第2版
  • Python數(shù)據(jù)結(jié)構(gòu)與算法分析 第2版

好課推薦:

  • 零基礎(chǔ)學python
  • python核心技術(shù)與實戰(zhàn)
  • python自動化辦公實戰(zhàn)

寫文不易,如果對你有幫助的話,來一波點贊、收藏、關(guān)注吧~??文章來源地址http://www.zghlxwxcb.cn/news/detail-403332.html

到了這里,關(guān)于「Python|Selenium|場景案例」如何模擬鼠標單擊、雙擊、右擊、長按和拖拽等操作?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • selenium+python:點擊元素、alert彈框、鼠標操作(左鍵點擊、右鍵點擊、雙擊、鼠標懸?。⑾吕x項框、窗口切換等操作的處

    selenium+python:點擊元素、alert彈框、鼠標操作(左鍵點擊、右鍵點擊、雙擊、鼠標懸?。?、下拉選項框、窗口切換等操作的處

    driver=webdriver.Chrome() driver.maximize_window() driver.get(\\\"https://www.baidu.com/\\\") 在進行頁面操作時,需要用鼠標進行左鍵點擊、右鍵點擊、雙擊、鼠標懸?。ū热缡髽艘频侥硞€位置就會出現(xiàn)一些元素)、鼠標拖動等操作,這時需要導(dǎo)入ActionChains模塊 perform() 執(zhí)行所有ActionChains 中存儲的行為

    2024年02月05日
    瀏覽(22)
  • 【playwright】新一代自動化測試神器playwright+python系列課程22_playwright模擬鼠標操作_懸停_右擊_雙擊

    【playwright】新一代自動化測試神器playwright+python系列課程22_playwright模擬鼠標操作_懸停_右擊_雙擊

    有些元素,只有你鼠標移動到它那個位置上,他才會展開或者顯示一些內(nèi)容,這時候就要用到hover()操作了。 以個人設(shè)置這個下拉菜單,來看一下hover的使用。 項目實踐代碼 以雙擊關(guān)閉彈出的流程窗口為例,看一下dblclick()使用 項目實踐代碼 以彈出的右鍵菜單為例,看一下

    2024年01月18日
    瀏覽(29)
  • Qt模擬鍵盤單擊、組合鍵、鼠標移動的多種實現(xiàn)方式

    Qt模擬鍵盤點擊分為兩種情況: 情況一:模擬鍵盤輸入到系統(tǒng)窗口,整個系統(tǒng)都接收這個模擬輸入。 情況二:模擬鍵盤輸入到指定的軟件,只有指定的軟件接收模擬輸入。 情況一實現(xiàn)方式: 頭文件:windows.h 使用 void keybd_event(BYTE bVk, BYTE bScan, DWORD dwFlags,DWORD dwExtraInfo); 參數(shù):

    2024年02月10日
    瀏覽(23)
  • Python爬蟲(4)-Selenium模擬鼠標操作

    Python爬蟲(4)-Selenium模擬鼠標操作

    在Selenium4.2以后的版本里面鼠標的操作方法都封裝在了ActionChains中需要時直接取即可。 使用方法就是調(diào)用ActionChains然后傳入你需要點擊的按鈕的位置即可 ActionChains(driver).double_click(f1).perform() perform()的意思就是執(zhí)行所有ActionChains中的動作 具體的操作方法如下 鼠標單擊就是直接

    2024年01月19日
    瀏覽(21)
  • Selenium學習(5)其他操縱元素的方法/雙擊/移動鼠標/拖拽

    Selenium學習(5)其他操縱元素的方法/雙擊/移動鼠標/拖拽

    白月黑羽老師做的很詳細,甚至我都懶得記筆記了,就全部拷貝下來吧。 b??選擇框 | 白月黑羽 (byhy.net) 之前我們對web元素做的操作主要是: 選擇元素 ,然后? 點擊元素 ?或者? 輸入 ?字符串。 還有沒有其他的操作了呢? 有。 比如:比如 鼠標右鍵點擊、雙擊、移動鼠標

    2024年02月08日
    瀏覽(17)
  • Python爬蟲(二十三)_selenium案例:動態(tài)模擬頁面點擊

    Python爬蟲(二十三)_selenium案例:動態(tài)模擬頁面點擊

    本篇主要介紹使用selenium模擬點擊下一頁,更多內(nèi)容請參考:Python學習指南 分享一份Python的學習資料,但由于篇幅有限,完整文檔可以掃碼免費領(lǐng)?。。?! 1)Python所有方向的學習路線(新版) 總結(jié)的Python爬蟲和數(shù)據(jù)分析等各個方向應(yīng)該學習的技術(shù)棧。 比如說爬蟲這一塊,很

    2024年02月04日
    瀏覽(92)
  • Unity 單擊、雙擊、長按事件處理

    想要一個工具,能夠同時集成單擊、雙擊、長按的功能 通過IPointerDownHandler, IPointerUpHandler, IPointerClickHandler這三個接口就可以監(jiān)聽點擊狀態(tài),然后再通過不同的點擊狀態(tài)來處理相應(yīng)的事件 由于可能同時存在多個事件,實際開發(fā)過程中會出現(xiàn)多余事件通知,如下: 同時擁有單擊

    2024年02月11日
    瀏覽(93)
  • 單片機_按鍵——單擊,雙擊,長按

    調(diào)用

    2024年02月16日
    瀏覽(94)
  • 〖Python WEB 自動化測試實戰(zhàn)篇⑦〗- 實戰(zhàn) - selenium的基本元素操作與鍵盤鼠標模擬事件操作

    訂閱 Python全棧白寶書-零基礎(chǔ)入門篇 可報銷! 白嫖入口-請點擊我。 推薦他人訂閱,可獲取扣除平臺費用后的35%收益,文末名片加V! 說明:該文屬于 Python全棧白寶書專欄, 免費階段訂閱數(shù)量4300+ , 購買任意白寶書體系化專欄可加入 TFS-CLUB 私域社區(qū)。 福利:加入社區(qū)的小伙

    2023年04月08日
    瀏覽(33)
  • QPushButton按鈕控件常用信號,雙擊,單擊等。

    QPushButton按鈕控件常用信號,雙擊,單擊等。

    想要了解QT中的QPushButoon類必須先了解QT的大致繼承關(guān)系,這樣我們才能更好的實現(xiàn)或者了解QPushButton按鈕控件,大致繼承關(guān)系如下: 我們可以看到QpushButton繼承自—QAbstractButton繼承自----QWidget。 這樣我們就可以查找我們想要實現(xiàn)的功能相關(guān)信息。 單擊信號:checked。 雖然我們

    2024年02月16日
    瀏覽(86)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包