鼠标操作
在WebDriver中,鼠标操作方法都封装在ActionChains类中
ActionChains提供了鼠标的常用操作方法
perfrom() ActionChains类中存储了所有行为
context_click() 鼠标右击
double_click() 双击鼠标
drag_and_drop() 拖动
move_to_element() 鼠标悬停
from selenium import webdriver
from selenium.webdriver import ActionChains
above = driver.find_element_by_link_text("设置") 定位元素
ActionChains(driver).move_to_element(above).perform() 悬停上一步定位的元素上
from selenium.webdriver import ActionChains 导入ActionChains类
ActionChains(driver) 调用ActionChains类 把浏览器驱动driver作为参数
move_to_element(above) 方法用于模拟鼠标悬停在元素上,在调用时需要指定元素
perform() 提交ActionChains类中存储的行为
键盘操作
前面介绍了。send_keys()方法可以用来模拟键盘输入,我们还可以用它来输入键盘上的案键,甚至是组合按键 任意Ctrl+C ,Ctrl+v
from selenium import webdriver
#调用keys模块
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
#在输入框输入内容用
driver.find_element_by_id("kw").send_keys("selenium")
#删除最后一个字符 从后往前
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("教程")
#输入组合键Ctrl+a,全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')
#输入组合键ctrl+x,剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x')
#输入组合键ctrl+v,粘贴内容到输入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')
#用回车键代替单击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
上面的脚本没有什么实际的意义仅仅向我们展示模拟键盘各种按键与组合按键的用法
在使用键盘方法之前需要先导入Keys类
from selenium.webdriver.common.keys import Keys
以下为常用的键盘操作
send_keys(Keys.BACK_SPACE) 删除键
send_keys(Keys.SPACE) 空格键
send_keys(Keys.TAB) tab键
send_keys(Keys.ESCAPE) esc回退键
send_keys(Keys.ENTER) 回车键
send_keys(Keys.CONTROL,'a') 全选键
send_keys(Keys.CONTROL,'c') 复制
send_keys(Keys.CONTROL,'x') 剪切
send_keys(Keys.CONTROL,'v') 粘贴
send_keys(Keys.F1) F1键
.........
send_keys(Keys.F12) F12键