一、模擬鍵盤(pán)操作
在selenium中,把鍵盤(pán)的一系列按鍵封裝在Keys類
中,因此,我們?cè)谀M鍵盤(pán)操作的時(shí)候,需要先導(dǎo)入Keys包,然后配合send_keys()方法使用
# 鼠標(biāo)事件,封裝在Keys類中
from selenium.webdriver.common.keys import Keys
# 執(zhí)行語(yǔ)法
要執(zhí)行模擬鍵盤(pán)操作的元素.send_keys(Keys.封裝的按鍵)
1、模擬鍵盤(pán)刪除鍵
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.BACK_SPACE)
2、模擬鍵盤(pán)空格鍵
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.SPACE)
3、模擬鍵盤(pán)全選操作——Ctrl+A
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.CONTROL, 'a')
4、模擬鍵盤(pán)復(fù)制操作——Ctrl+C
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.CONTROL, 'c')
5、模擬鍵盤(pán)剪切操作——Ctrl+X
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.CONTROL, 'x')
6、模擬鍵盤(pán)粘貼操作——Ctrl+V
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.CONTROL, 'v')
7、模擬鍵盤(pán)回車鍵
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.ENTER)
8、模擬鍵盤(pán)tab健
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.TAB)
9、模擬鍵盤(pán)Esc健
- 語(yǔ)法實(shí)現(xiàn):
send_keys(Keys.ESCAPE)
10、模擬鍵盤(pán)F1…F12
- 語(yǔ)法實(shí)現(xiàn):send_keys(Keys.F12)
【示例】
# 導(dǎo)包
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
# 鼠標(biāo)事件,封裝在Keys類中
from selenium.webdriver.common.keys import Keys
# 定義谷歌對(duì)象
driver = webdriver.Chrome()
# 打開(kāi)百度首頁(yè)
driver.get('https://www.baidu.com/')
# 定位到百度搜索輸入框
element = driver.find_element(By.ID, 'kw')
# 在輸入框輸入”P(pán)ython自動(dòng)化測(cè)試“
element.send_keys("Python自動(dòng)化測(cè)試")
# 頁(yè)面停留2秒鐘
sleep(2)
# 模擬鍵盤(pán)的刪除鍵,刪除輸入框中的最后一個(gè)字send_keys(Keys.BACK_SPACE)
element.send_keys(Keys.BACK_SPACE)
# 頁(yè)面停留2秒鐘
sleep(2)
# 模擬鍵盤(pán)的空格鍵,輸入框最后加一個(gè)空格
element.send_keys(Keys.SPACE)
# 頁(yè)面停留2秒鐘
sleep(2)
# 模擬鍵盤(pán)的Ctrl+A全選操作
element.send_keys(Keys.CONTROL, 'a')
# 頁(yè)面停留2秒鐘
sleep(2)
# # 模擬鍵盤(pán)的Ctrl+C復(fù)制操作
# element.send_keys(Keys.CONTROL, 'c')
# 模擬鍵盤(pán)的Ctrl+X剪切操作
element.send_keys(Keys.CONTROL, 'x')
# 頁(yè)面停留2秒鐘
sleep(2)
# 模擬鍵盤(pán)的Ctrl+V粘貼操作
element.send_keys(Keys.CONTROL, 'v')
# 模擬鍵盤(pán)的回車操作
element.send_keys(Keys.ENTER)
# # 模擬鍵盤(pán)tab鍵
# element.send_keys(Keys.TAB)
sleep(5)
# 退出瀏覽器
driver.quit()
模擬鍵盤(pán)刪除鍵:每次只能刪除一個(gè),如果要?jiǎng)h除多個(gè)字符,需要在前面乘上幾
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
# 鼠標(biāo)事件,封裝在Keys類中
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.implicitly_wait(5)
# 定位到搜索框
search_box = driver.find_element(By.ID, 'kw')
# 在輸入框輸入內(nèi)容
search_box.send_keys("我以渺小愛(ài)你1234")
sleep(3)
# 刪除多余的數(shù)字,每次只能刪除一個(gè),想要?jiǎng)h除幾個(gè),需要在前面乘上幾
search_box.send_keys(4*Keys.BACK_SPACE)
sleep(3)
# 關(guān)閉瀏覽器
driver.quit()
二、模擬鼠標(biāo)操作
在webdriver中,將這些關(guān)于鼠標(biāo)操作的方法封裝在ActionChains
類中。ActionChains類提供了鼠標(biāo)操作的常用方法:
導(dǎo)入ActionChains
類
# 在 WebDriver 中, 將這些關(guān)于鼠標(biāo)操作的方法封裝在 ActionChains 類中
from selenium.webdriver.common.action_chains import ActionChains
ActionChains類提供了鼠標(biāo)操作的常用方法:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-504042.html
- perform():執(zhí)行所有ActionChains類中存儲(chǔ)的行為
- context_click():右擊
- double_click():
- drag_and_drop():拖動(dòng)
- move_to_element():鼠標(biāo)懸停
下面演示“perform()”和“鼠標(biāo)懸?!狈椒ǎ?/font>文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-504042.html
from selenium import webdriver
from selenium.webdriver.common.by import By
# 在 WebDriver 中, 將這些關(guān)于鼠標(biāo)操作的方法封裝在 ActionChains 類中
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# ActionChains 類提供了鼠標(biāo)操作的常用方法
# 打開(kāi)瀏覽器
driver = webdriver.Chrome()
# 打開(kāi)百度首頁(yè)
driver.get("https://www.baidu.com/")
# 最大化窗口
driver.maximize_window()
# 設(shè)置隱式等待
driver.implicitly_wait(5)
# 定位到“設(shè)置”元素
st_button = driver.find_element(By.ID, 's-usersetting-top')
# 在“設(shè)置”元素進(jìn)行鼠標(biāo)懸停
# perform()執(zhí)行前面的操作
# ActionChains(打開(kāi)的瀏覽器對(duì)象,driver).move_to_element(懸停的元素).perform()
ActionChains(driver).move_to_element(st_button).perform()
# 頁(yè)面停留5秒鐘
sleep(5)
# 關(guān)閉瀏覽器
driver.quit()
到了這里,關(guān)于【Python自動(dòng)化測(cè)試】:模擬鍵盤(pán)操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!