在 WebDriver 中,与鼠标操作相关的方法都封装在ActionChains 类中,与键盘操作相关的方法都封装在Keys类中。下面介绍下这两个类中的常用方法。
鼠标操作
ActionChains类鼠标操作常用方法:
- context_click():右击
- double_click():双击
- drag_and_drop():拖动
- move_to_element():鼠标悬停
- perform():执行ActionChains类中存储的所有行为
# 鼠标悬停示例(鼠标悬停在百度首页的“设置”)from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
sleep(3)# 定位需要悬停的元素
setting = driver.find_element(By.ID,"s-usersetting-top")# 对元素进行悬停操作
ActionChains(driver).move_to_element(setting).perform()
sleep(3)
driver.quit()
# 鼠标双击示例(对输入框的内容进行双击)from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
sleep(3)
search = driver.find_element(By.ID,"kw")
search.send_keys("双击")
sleep(1)# 对元素进行双击操作(双击后可以看到输入的内容会被选中)
ActionChains(driver).double_click(search).perform()
sleep(3)
driver.quit()
其余的方法就不再赘述,可以自己尝试使用。
键盘操作
Keys类中常用的键盘操作:
- 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
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element(By.ID,"kw").send_keys("ChatGPT")# 删除键(backspace)
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("教程")
sleep(1)# 组合键 Ctrl+a,全选输入框内容
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'a')
sleep(1)# 组合键 Ctrl+x,剪切输入框内容
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'x')
sleep(1)# 组合键 Ctrl+v,粘贴内容到输入框
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'v')
sleep(1)# 按下回车键
driver.find_element(By.ID,"kw").send_keys(Keys.ENTER)
sleep(2)
driver.quit()
键盘输入示例大致如上,实际上以上代码没有实际的意义,对于实际的操作还是要结合项目中的需求来适当运用。
以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!
版权归原作者 牛油菠蘿包 所有, 如有侵权,请联系我们删除。