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

selenium+python自動化測試之鼠標(biāo)和鍵盤事件

 更新時間:2019年01月23日 14:48:14   作者:zh175578809  
這篇文章主要介紹了selenium+python自動化測試之鼠標(biāo)和鍵盤事件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前面的例子中,點擊事件都是通過click()方法實現(xiàn)鼠標(biāo)的點擊事件。其實在WebDriver中,提供了許多鼠標(biāo)操作的方法,這些操作方法都封裝在ActionChains類中,包括鼠標(biāo)右擊、雙擊、懸停和鼠標(biāo)拖動等功能。

ActionChains類提供的鼠標(biāo)操作事件

  • context_click():點擊鼠標(biāo)右鍵
  • double_click():雙擊鼠標(biāo)
  • drag_and_drop():拖動鼠標(biāo)
  • move_to_element():鼠標(biāo)懸停

鼠標(biāo)懸停

頁面上有些下拉菜單,在鼠標(biāo)放到元素上以后,下面的菜單才會顯示出來。下面的圖片就是一個例子

百度首頁上的設(shè)置項,下面的菜單默認不會顯示,將鼠標(biāo)停在上面后才會顯示,這就是鼠標(biāo)的懸停操作,菜單顯示以后就可以對下面的項進行點擊操作

進入搜索設(shè)置的代碼

# -*- coding: utf-8 -*-

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(3)

settings = driver.find_element_by_link_text('設(shè)置')
webdriver.ActionChains(driver).move_to_element(settings).perform()

time.sleep(1)

settings_search = driver.find_element_by_class_name('setpref')
settings_search.click()

time.sleep(3)
driver.close()

打開頁面后,根據(jù)鏈接的文本信息找到設(shè)置項,使用ActionChains的move_to_element()方法將鼠標(biāo)懸停在設(shè)置上,然后找到搜索設(shè)置項

鼠標(biāo)的右擊、雙擊和拖動事件都是通過上述的方法調(diào)用,只要將方法替換一下就可以了。拖動事件需要傳入兩個參數(shù),第一個參數(shù)是拖動的起點元素,第二個參數(shù)是終點元素

webdriver.ActionChains(driver).context_click("右擊的元素定位").perform() #右擊事件
webdriver.ActionChains(driver).double_click("雙擊的元素定位").perform() #雙擊事件
webdriver.ActionChains(driver).drag_and_drop("拖動的起點元素", "拖動的終點元素").perform() #拖動事件

鍵盤事件

Keys類中提供了幾乎所有的鍵盤事件,在鼠標(biāo)事件中用到了兩個鍵盤事件,鍵盤的向下按鍵(send_keys(Keys.DOWN))和鍵盤的回車事件(send_keys(Keys.ENTER))。鍵盤的事件需要導(dǎo)入Keys模塊

from selenium.webdriver.common.keys import Keys

所有的鍵盤事件都包含在這個模塊中,send_keys用來模擬鍵盤輸入,除此之外,還可以用例模擬鍵盤上的按鍵,不僅支持單個的鍵盤按鍵,還支持組合按鍵輸入

# -*- coding: utf-8 -*-

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(3)

driver.find_element_by_id('kw').send_keys('selenium') #在搜索框中輸入"selenium"
driver.find_element_by_id('kw').send_keys(Keys.SPACE) #輸入空格鍵
driver.find_element_by_id('kw').send_keys('python') #在搜索框中輸入"python"
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a') #輸入Control+a模擬全選
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c') #輸入Control+c模擬復(fù)制
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v') #輸入Control+v模擬粘貼
driver.find_element_by_id('kw').send_keys(Keys.ENTER) #輸入回車代替點擊搜索按鈕

time.sleep(3)
driver.close()

下面是一些常用的鍵盤事件:

– Keys.BACK_SPACE:回退鍵(BackSpace)
– Keys.TAB:制表鍵(Tab)
– Keys.ENTER:回車鍵(Enter)
– Keys.SHIFT:大小寫轉(zhuǎn)換鍵(Shift)
– Keys.CONTROL:Control鍵(Ctrl)
– Keys.ALT:ALT鍵(Alt)
– Keys.ESCAPE:返回鍵(Esc)
– Keys.SPACE:空格鍵(Space)
– Keys.PAGE_UP:翻頁鍵上(Page Up)
– Keys.PAGE_DOWN:翻頁鍵下(Page Down)
– Keys.END:行尾鍵(End)
– Keys.HOME:行首鍵(Home)
– Keys.LEFT:方向鍵左(Left)
– Keys.UP:方向鍵上(Up)
– Keys.RIGHT:方向鍵右(Right)
– Keys.DOWN:方向鍵下(Down)
– Keys.INSERT:插入鍵(Insert)
– DELETE:刪除鍵(Delete)
– NUMPAD0 ~ NUMPAD9:數(shù)字鍵1-9
– F1 ~ F12:F1 - F12鍵
– (Keys.CONTROL, ‘a(chǎn)'):組合鍵Control+a,全選
– (Keys.CONTROL, ‘c'):組合鍵Control+c,復(fù)制
– (Keys.CONTROL, ‘x'):組合鍵Control+x,剪切
– (Keys.CONTROL, ‘v'):組合鍵Control+v,粘貼

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

相關(guān)文章

  • 分析如何在Python中解析和修改XML

    分析如何在Python中解析和修改XML

    我們經(jīng)常需要解析用不同語言編寫的數(shù)據(jù)。Python提供了許多庫來解析或拆分用其他語言編寫的數(shù)據(jù)。在此Python XML解析器教程中,您將學(xué)習(xí)如何使用Python解析XML
    2021-06-06
  • python基于win32實現(xiàn)窗口截圖

    python基于win32實現(xiàn)窗口截圖

    這篇文章主要為大家詳細介紹了python基于win32api實現(xiàn)窗口截圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • python用插值法繪制平滑曲線

    python用插值法繪制平滑曲線

    這篇文章主要為大家詳細介紹了python用插值法繪制平滑曲線,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python實現(xiàn)疫情地圖可視化

    Python實現(xiàn)疫情地圖可視化

    這篇文章主要介紹了Python如何實現(xiàn)疫情地圖可視化,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • python 安裝移動復(fù)制第三方庫操作

    python 安裝移動復(fù)制第三方庫操作

    這篇文章主要介紹了python 安裝移動復(fù)制第三方庫操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python實現(xiàn)提高運行速度的技巧分享

    Python實現(xiàn)提高運行速度的技巧分享

    這篇文章主要為大家詳細介紹了Python實現(xiàn)提高運行速度的相關(guān)技巧,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • 基于Python進行年齡和性別檢測

    基于Python進行年齡和性別檢測

    這篇文章主要介紹了通過Python 編程語言帶您完成使用機器學(xué)習(xí)進行年齡和性別檢測的任務(wù)。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2021-12-12
  • Python操作MySQL數(shù)據(jù)庫9個實用實例

    Python操作MySQL數(shù)據(jù)庫9個實用實例

    這篇文章主要介紹了Python操作MySQL數(shù)據(jù)庫9個實用實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Python3實現(xiàn)騰訊云OCR識別

    Python3實現(xiàn)騰訊云OCR識別

    這篇文章主要為大家詳細介紹了Python3實現(xiàn)騰訊云OCR識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python操作word實現(xiàn)添加文字或圖片水印

    Python操作word實現(xiàn)添加文字或圖片水印

    這篇文章主要為大家詳細介紹了如何使用Spire.Doc for Python在程序中的輕松添加文字和圖像水印到Word文檔,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-10-10

最新評論

丰原市| 内黄县| 鄱阳县| 科尔| 慈溪市| 邹平县| 会同县| 遂宁市| 修文县| 清镇市| 高陵县| 上思县| 宁陵县| 平阳县| 虎林市| 永新县| 新密市| 邵武市| 宝丰县| 白山市| 左权县| 安康市| 宜君县| 临清市| 保亭| 保靖县| 文成县| 岚皋县| 苍梧县| 平定县| 通江县| 淄博市| 精河县| 隆安县| 德清县| 华坪县| 莱芜市| 江华| 黔西县| 保定市| 砀山县|