Selenium鼠標與鍵盤事件常用操作方法示例
本文實例講述了Selenium鼠標與鍵盤事件常用操作方法。分享給大家供大家參考,具體如下:
Selenium是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測試系統(tǒng)功能——創(chuàng)建回歸測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成 .Net、Java、Perl等不同語言的測試腳本。
在之前的《Selenium元素的常用操作方法》中有講到元素的一些常用方法,接下來記錄一下元素的鼠標與鍵盤事件
鼠標事件
在WebDriver中,將這些關(guān)于鼠標操作的方法封裝在ActionChains類提供。ActionChains類提供了鼠標操作的常用方法:
perform():執(zhí)行所有ActionChains存儲的行為context_click():右擊double_click():雙擊drag_and_drop():拖動move_to_element():懸停
下面需要操作瀏覽器實現(xiàn)下面這樣的一個操作,即使鼠標懸停:

代碼如下:
from selenium.webdriver import Chrome
from selenium.webdriver.common.action_chains import ActionChains
driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.get("https://www.baidu.com/")
element = driver.find_element_by_link_text("設(shè)置")
ActionChains(driver).move_to_element(element).perform()
鍵盤事件
Keys類提供了幾乎鍵盤上的所有按鍵的方法,在前面的博文中有了解到,send_keys()可以用來模擬鍵盤輸入的操作,除此之外,我們還可以用Keys來模擬鍵盤上的按鍵,或者組合鍵,如Ctrl + C、Ctrl + V等等。
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.get("https://www.baidu.com/")
模擬鍵盤輸入“python”:
driver.find_element_by_id("kw").send_keys("python.")
刪除最后一個字符:
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
模擬鍵盤輸入一個空格:
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
模擬鍵盤輸入“教程”:
driver.find_element_by_id("kw").send_keys("教程")
輸入框全選:
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a")
剪切:
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"x")
粘貼:
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"v")
回車:
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
下面介紹幾個常用的鍵盤操作:
- Keys.BACK_SPACE:刪除鍵
- Keys.SPACE:空格鍵
- Keys.TAB:Tab鍵
- Keys.ESCAPE:回退鍵
- Keys.ENTER:回車鍵
- Keys.CONTROL,”a”:組合鍵,Ctrl + A
- Keys.CONTROL,”x”:組合鍵,Ctrl + X
- Keys.CONTROL,”v”:組合鍵,Ctrl + V
- Keys.CONTROL,”c”:組合鍵,Ctrl + C
- Keys.F1:F1鍵
- Keys.F12:F12鍵
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python URL操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
在python2.7中用numpy.reshape 對圖像進行切割的方法
今天小編就為大家分享一篇在python2.7中用numpy.reshape 對圖像進行切割的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
shell命令行,一鍵創(chuàng)建 python 模板文件腳本方法
下面小編就為大家分享一篇shell命令行,一鍵創(chuàng)建 python 模板文件腳本方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
python實現(xiàn)n個數(shù)中選出m個數(shù)的方法
今天小編就為大家分享一篇python實現(xiàn)n個數(shù)中選出m個數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
在PyCharm導航區(qū)中打開多個Project的關(guān)閉方法
今天小編就為大家分享一篇在PyCharm導航區(qū)中打開多個Project的關(guān)閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python使用struct模塊實現(xiàn)打包/解包二進制數(shù)據(jù)
因為網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)都是二進制字節(jié)流,而?Python?只有字符串可以直接轉(zhuǎn)成字節(jié)流,對于整數(shù)、浮點數(shù)則無能為力了,所以?Python?提供了?struct?模塊來幫我們解決這一點,下面我們就來看看它的用法吧2023-09-09

