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

Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠標(biāo)操作2

這篇具有很好參考價值的文章主要介紹了Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠標(biāo)操作2。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? ? ? 這篇說下ActionChains里常用的幾種鼠標(biāo)操作的方法。

ActionChains常用的鼠標(biāo)操作方法
click() 鼠標(biāo)左鍵單擊
double_click() 鼠標(biāo)左鍵雙擊
context_click() 鼠標(biāo)右鍵單擊
move_to_element() 鼠標(biāo)移動到某個元素上(鼠標(biāo)懸浮操作)
click_and_hold() 點擊鼠標(biāo)左鍵,不松開
drag_and_drop() 拖拽到某個元素然后松開
drag_and_drop_by_offset() 拖拽到某個坐標(biāo)然后松開
move_by_offset()

從當(dāng)前位置移動到某個坐標(biāo)

move_to_element_with_offset()

移動到距某個元素多遠(yuǎn)

pause() 鼠標(biāo)停止操作
release() 在某個元素上釋放鼠標(biāo)按鈕

? ? ? ? 以上是常用的鼠標(biāo)操作,這里簡單舉例下平時工作中用到的最多的幾種方法。

目錄

1、click(元素)

2、double_click(元素)

3、context_click()

4、click_and_hold()

5、release()

?6、move_to_element()

7、move_by_offset()

8、move_to_element_with_offset()

9、drag_and_drop()

10、drag_and_drop_by_offset()


1、click(元素)

? ? ? click()就是鼠標(biāo)點擊左鍵的操作,找到需要鼠標(biāo)左鍵點擊的元素后,填入到括號中即可。

from selenium import webdriver              #導(dǎo)入selenium模塊的webdriver
from selenium.webdriver import ActionChains #導(dǎo)入ActionChains類
driver = webdriver.Chrome()           #webdriver.Chrome()是啟動谷歌瀏覽器然后定義成變量driver
driver.get("https://www.baidu.com")   #打開百度瀏覽器  
baidu_cl=driver.find_element_by_link_text("新聞")    #定位元素新聞按鈕并賦值給baidu_cl
ActionChains(driver).click(baidu_cl).perform()      #發(fā)出點擊新聞按鈕的指令并執(zhí)行

2、double_click(元素)

????????double_click()是鼠標(biāo)左鍵雙擊的操作,具體用法和鼠標(biāo)點擊一樣,找到需要雙擊的元素,填寫到括號中即可。

d_click=driver.find_element_by_id("元素id")    #定位到某個元素然后定義為d_click
ActionChains(driver).double_click(d_click).perform()      #發(fā)出雙擊某個元素的指令并執(zhí)行

3、context_click()

? ? ? context_click()模擬的是鼠標(biāo)右鍵單擊的操作,具體用法同鼠標(biāo)單擊的操作,找到需要鼠標(biāo)右鍵的元素,填寫到括號中即可。

r_click=driver.find_element_by_id("元素id")    #定位到某個元素然后定義為r_click
ActionChains(driver).context_click(r_click).perform()      #發(fā)出右擊某個元素的指令并執(zhí)行

下面的4、5可以結(jié)合著6、7、8一起使用,就可以模擬鼠標(biāo)拖拽的操作。

4、click_and_hold()

????????click_and_hold()模擬的是點擊元素并且不松開鼠標(biāo)左鍵的操作就是類似人為的按住鼠標(biāo)左鍵不松的行為,具體操作方法為click_and_hold(元素)。

hold_click=driver.find_element_by_id("元素id")    #定位到某個元素然后定義為hold_click
ActionChains(driver).click_and_hold(hold_click).perform()      #發(fā)出按住某個元素的指令并執(zhí)行

? ?

5、release()

????????release()模擬的是松開鼠標(biāo)的按鍵的操作,一般結(jié)合著上面的click_and_hold()操作使用。

hold_click=driver.find_element_by_id("元素id")    #定位到某個元素然后定義為hold_click
ActionChains(driver).click_and_hold(hold_click).release().perform()      #發(fā)出按住某個元素的指令,執(zhí)行完后,執(zhí)行松開按鍵的操作

?6、move_to_element()

? ? ? ? move_to_element()是鼠標(biāo)移動到某個元素的操作,可以用來做鼠標(biāo)懸浮使用,比如在百度首頁的設(shè)置,我們得先把鼠標(biāo)放到設(shè)置按鈕上,才可以進行下面的點擊操作,move_to_element()就可以完成這個指令,具體使用方式時,找到需要懸浮的元素,然后填入到括號里即可。

from selenium import webdriver     #導(dǎo)入selenium模塊的webdriver
import time       #導(dǎo)入time模塊
from selenium.webdriver import ActionChains #導(dǎo)入ActionChains類
driver = webdriver.Chrome()           #webdriver.Chrome()是啟動谷歌瀏覽器然后定義成變量driver
driver.get("https://www.baidu.com")   #打開百度瀏覽器
driver.maximize_window()      #全屏顯示
setting = driver.find_element_by_id("s-usersetting-top")    #鼠標(biāo)懸浮在設(shè)置按鈕上
ActionChains(driver).move_to_element(setting).perform()   #執(zhí)行上述操作
time.sleep(3)    #等待3秒
setting2 = driver.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[4]')   #點擊隱私設(shè)置
ActionChains(driver).click(setting2).perform()     #執(zhí)行操作

Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠標(biāo)操作2,web自動化,python,selenium

7、move_by_offset()

????????move_by_offset()表示的操作為鼠標(biāo)移動到某個位置,具體使用是需要再move_by_offset()括號里填上方位,原點是當(dāng)前鼠標(biāo)停留的位置,然后分為x軸和y軸,填入的方式為move_by_offset(x,y),以當(dāng)前鼠標(biāo)為原點,向左移動x就填正數(shù),向右則為負(fù)數(shù),向上移動y填正數(shù),向下移動y填負(fù)數(shù),運行完羨慕代碼后會看到鼠標(biāo)停留在了關(guān)閉預(yù)測的位置,并進行了點擊。

from selenium import webdriver     #導(dǎo)入selenium模塊的webdriver
import time       #導(dǎo)入time模塊
from selenium.webdriver import ActionChains #導(dǎo)入ActionChains類
driver = webdriver.Chrome()           #webdriver.Chrome()是啟動谷歌瀏覽器然后定義成變量driver
driver.get("https://www.baidu.com")   #打開百度瀏覽器
driver.maximize_window()      #全屏顯示
setting = driver.find_element_by_id("s-usersetting-top")    #鼠標(biāo)懸浮在設(shè)置按鈕上
ActionChains(driver).move_to_element(setting).perform()   #執(zhí)行上述操作
time.sleep(3)    #等待3秒
ActionChains(driver).move_by_offset(0,100).click().perform()     #執(zhí)行向下移動100個px距離的操作,并進行點擊

Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠標(biāo)操作2,web自動化,python,selenium

8、move_to_element_with_offset()

? ? ? ??move_to_element_with_offset()操作為移動到距離某個元素多少的坐標(biāo),在括號里填寫?move_to_element_with_offset(元素,x,y),先找到某個元素,然后以該元素為原點進行移動。

from selenium import webdriver     #導(dǎo)入selenium模塊的webdriver
import time       #導(dǎo)入time模塊
from selenium.webdriver import ActionChains #導(dǎo)入ActionChains類
driver = webdriver.Chrome()           #webdriver.Chrome()是啟動谷歌瀏覽器然后定義成變量driver
driver.get("https://www.baidu.com")   #打開百度瀏覽器
driver.maximize_window()      #全屏顯示
setting = driver.find_element_by_id("s-usersetting-top")    #鼠標(biāo)懸浮在設(shè)置按鈕上
ActionChains(driver).move_to_element(setting).perform()   #執(zhí)行上述操作(不執(zhí)行這個操作看不出來效果)
time.sleep(3)    #等待3秒
ActionChains(driver).move_to_element_with_offset(setting,0,100).perform()  #移動到設(shè)置按鈕上,然后向下移動100px

9、drag_and_drop()

?????????drag_and_drop()的操作是找到第一個元素,然后按住鼠標(biāo)拖拽到第二個元素的位置。需要再括號里填入兩個元素,起始元素和需要移動到的元素drag_and_drop(起始元素,終止元素)。

start1 = driver.find_element_by_id("起始元素")    #定位到某個元素然后定義為start1
stop1 = driver.find_element_by_id("終止元素")    #定位到某個元素然后定義為stop1
ActionChains(driver).?drag_and_drop(start1,stop1).perform()   #發(fā)出命令定位到start1元素然后按住鼠標(biāo),之后移動到stop1后松開鼠標(biāo),并執(zhí)行

10、drag_and_drop_by_offset()

????????drag_and_drop_by_offset()和9有點類似,操作是定位到某個元素后,以該元素為原點,然后拖拽到某個坐標(biāo),具體寫法為drag_and_drop_by_offset(元素,x,y)。

start2 = driver.find_element_by_id("起始元素")    #定位到某個元素然后定義為start2
ActionChains(driver).?drag_and_drop_by_offset(start2,0,100).perform()   #發(fā)出命令定位到start2元素然后按住鼠標(biāo),之后拖動到以該元素為原點的向右移動100px的位置,并執(zhí)行

???????如果大家在使用過程中遇到了問題,可以在文章下留言,或者關(guān)注公眾號:劉阿童木的進化記錄,進行留言

? ? ? ? ? ? ? ? ? ?下圖為公眾號二維碼,內(nèi)容會同步發(fā)出,大家可以關(guān)注一起學(xué)習(xí)!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠標(biāo)操作2,web自動化,python,selenium文章來源地址http://www.zghlxwxcb.cn/news/detail-813354.html

到了這里,關(guān)于Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠標(biāo)操作2的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Java Selenium WebDriver 常用方法

    一、創(chuàng)建瀏覽器對象 二、設(shè)置窗口位置、大小 三、訪問網(wǎng)頁操作 四、獲取網(wǎng)頁信息 五、切換窗口 driver.switchTo().window(\\\"要切換的窗口句柄\\\"); 六、截圖保存 七、關(guān)閉窗口 八、元素定位 九、元素操作 持續(xù)更新中... ?

    2024年02月03日
    瀏覽(23)
  • Python + Selenium WebDriver

    Python + Selenium WebDriver 一、搭建環(huán)境步驟 1、安裝 python3.x (windows xp 不支持 python3.5+) 2、設(shè)置環(huán)境變量 path(安裝時候也可以解決 勾上 add python.ext to path) 3、安裝Selenium 用pip命令安裝 pip install -U selenium 4、路徑,pip可能定位不到,pip也可能定位到別的文件夾(perl) 方案:cd

    2024年02月12日
    瀏覽(28)
  • selenium.webdriver Python爬蟲教程

    selenium.webdriver Python爬蟲教程

    selenium安裝和使用 pip install selenium 下載對應(yīng)的瀏覽器驅(qū)動 實例化瀏覽器 元素定位 舊版本 selenium 函數(shù) 新版本 selenium 函數(shù) 返回復(fù)數(shù)元素的方法,分別在調(diào)用的方法加上一個s: findElements 用法示例 如果我們網(wǎng)頁源碼中有下面一段代碼 元素屬性 class 定位 css 選擇器定位 ID 屬性值

    2024年02月13日
    瀏覽(22)
  • 【Selenium2+python】自動化unittest生成測試報告

    【Selenium2+python】自動化unittest生成測試報告

    前言 批量執(zhí)行完用例后,生成的測試報告是文本形式的,不夠直觀,為了更好的展示測試報告,最好是生成HTML格式的。 unittest里面是不能生成html格式報告的,需要導(dǎo)入一個第三方的模塊:HTMLTestRunner 一、導(dǎo)入HTMLTestRunner 1.這個模塊下載不能通過pip安裝了,只能下載后手動導(dǎo)

    2024年02月09日
    瀏覽(25)
  • Selenium的WebDriver操作頁面的超時或者元素重疊引起的ElementClickInterceptedException

    處理由頁面加載引起的超時是在使用 Selenium 進行自動化測試中常見的任務(wù)。頁面加載可能因網(wǎng)絡(luò)速度慢、頁面復(fù)雜性或異步操作而導(dǎo)致超時。以下是一些處理頁面加載超時的方法: 1.設(shè)置隱式等待時間: 使用 implicitly_wait 方法可以設(shè)置隱式等待時間,讓 Selenium 等待一定時間

    2024年02月07日
    瀏覽(21)
  • python使用selenium webDriver時 報錯

    python使用selenium webDriver時 報錯

    可能原因和解決: 1. python 解釋器 ---- 設(shè)置 2. 瀏覽器 版本 與 瀏覽器驅(qū)動 版本不一致 ---- 安裝同一版本的 (下載chromedriver? |??谷歌驅(qū)動更高版本的測試版) ? 參考:Python使用Selenium WebDriver的入門介紹及安裝教程-CSDN博客 Selenium安裝WebDriver最新Chrome驅(qū)動(含116/117/118/119)_chromedri

    2024年02月04日
    瀏覽(26)
  • 基于Python Selenium - Unittest框架的PO設(shè)計模式詳解

    基于Python Selenium - Unittest框架的PO設(shè)計模式詳解

    接下來我們步入正文,這篇文章從以下幾個內(nèi)容講述: 1、什么是PO設(shè)計模式(Page Object Model) 2、為什么要使用PO設(shè)計模式 3、使用PO設(shè)計模式要點 4、PO設(shè)計模式實例 1、什么是PO設(shè)計模式 (Page Object Model) 一種在測試自動化中變得流行的設(shè)計模式,使得自動化測試腳本的減少代碼

    2023年04月17日
    瀏覽(24)
  • webUI自動化之基本框架搭建(python + selenium + unittest)

    webUI自動化之基本框架搭建(python + selenium + unittest)

    該文檔描述一次基于python的webUI自動化框架搭建過程及簡單的使用。 框架構(gòu)成: python + selenium + unittest IDEA工具:pycharm(社區(qū)版即可) Python3.9 Webdriver.exe文件下載好,將該文件放在本地python的lib文件夾下,并將其配置到環(huán)境變量(實際上放到python的任意文件夾下都可以,但必

    2024年02月02日
    瀏覽(27)
  • selenium 防止window.navigator.webdriver對象檢測的方法

    當(dāng)我們使用selenium 去訪問或爬取某些網(wǎng)站的時候會遇到網(wǎng)站對selenium檢測的一些情況。 正常用瀏覽器訪問時:window.navigator屬性是undefind 而使用selenium去訪問 則會給window.navigator 設(shè)置webdriver屬性 處理方法: 1.可以使用CDP(chrome開發(fā)者工具協(xié)議)解決這個問題 利用它可以實現(xiàn)每個頁

    2024年02月22日
    瀏覽(19)
  • 2023爬蟲學(xué)習(xí)筆記 -- selenium反爬蟲操作(window.navigator.webdriver屬性值)

    2023爬蟲學(xué)習(xí)筆記 -- selenium反爬蟲操作(window.navigator.webdriver屬性值)

    一、無可視化瀏覽器操作 1、導(dǎo)入需要的函數(shù),固定寫法,并設(shè)置相關(guān)瀏覽器參數(shù) 2、請求的時候加上參數(shù)設(shè)置 3、通過截圖證明確實被打開了 二、有些網(wǎng)站通過判斷window.navigator.webdriver屬性值來判斷是否有爬蟲行為 1、正常訪問瀏覽器,該屬性值為false 2、通過webdriver訪問瀏覽

    2024年02月08日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包