手动测试时键盘的操作在selenium页有实现,关于鼠标的操作由ActionChains()类来提供,关于键盘的操作由Key()类来提供。
1)鼠标操作
* 导入动作链类,动作链可以储存鼠标的动作,并一起执行
from selenium.webdriver import ActionChains
ActionChains(driver)
* 执行ActionChains中储存的所有动作
perform()
* 鼠标右击
el = driver.find_element_by_xxx(value)
context_click(el)
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
ActionChains(driver).context_click(driver.find_element_by_link_text("新闻")).perform()
time.sleep(2)
driver.quit()
对el执行右击
* 双击操作
el = driver.find_element_by_xxx(value)
ActionChains(driver).double_click(el).perform()
* 鼠标悬停
el = driver.find_element_by_xxx(value)
ActionChains(driver).move_to_element(el).perform()
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
driver = webdriver.Chrome()
driver.get("https://www.imooc.com/")
el_list = driver.find_elements_by_class_name("group")
for el in el_list:
ActionChains(driver).move_to_element(el).perform()
time.sleep(1)
driver.quit()
2)键盘操作
键盘操作使用的是Keys类,一般配合send_keys使用
* 导入
from selenium.webdriver.common.key import Key
* 常用键盘操作
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
* 常用键盘操作
send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)
send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)
send_keys(Keys.F1) 键盘 F1
……
send_keys(Keys.F12) 键盘 F12