selenium(5):模拟鼠标和键盘操作

1、selenium模拟鼠标操作

WebDriver中封装了一个ActionChains类,用于提供对鼠标的常用操作方法:

  • perform():执行所有ActionChains中存储的行为,类似于把要执行的鼠标动作提交
  • context_click():右击
  • double_click:双击
  • drag_and_drop():拖动
  • move_to_element:鼠标悬停

模拟对百度首页【新闻】的右击操作:

from selenium import webdriver
# 导入提供鼠标操作的ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")   

time.sleep(5)

# 右击百度新闻
right_click = driver.find_element_by_xpath('//*[@id="s-top-left"]/a[1]')

# 调用ActionChains()类,将浏览器驱动driver作为参数传入
# context_context() 方法用于模拟鼠标右键操作,在调用时需要指定元素位置
# perform() 执行所有ActionChains中存储的行为, 可以理解成是对整个操作的提交动作。
ActionChains(driver).context_click(right_click).perform()

time.sleep(4)
driver.close()

 快速获取某个元素的xpath:

2、selenium模拟键盘操作

Keys类提供了键盘上几乎所有按键的方法,输入、快捷键、组合……

常用键盘操作:

  • send_keys(Keys.Back_BACK)删除键
  • send_keys(Keys.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


from selenium import webdriver
# 引入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains


driver = webdriver.Chrome()
driver.get("https://www.baidu.cn")
driver.find_element_by_class_name("search-input").send_keys("selenium")   # 定位输入框并输入关键字

 

你可能感兴趣的:(#,selenium,selenium)