ActionChains类中关于鼠标和键盘事件的常用方法
一:鼠标事件
click(on_element=None):单击元素操作
perform():提交(重放)已保存的动作,执行. ActionChains中存储的行为
context_click():右击
double_click():双击
move_to_element(to_element):鼠标悬停,将鼠标移动到指定元素中央
drag_and_drop(source,target):鼠标拖动
引入ActionChains类:
from selenium.webdriver.common.action_chains import ActionChains
#coding=utf-8
#鼠标事件
from selenium import webdriver
import time
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
driver=webdriver.Chrome()
driver.get(“http://www.baidu.com”)
#鼠标悬停 move_to_element
set=driver.find_element_by_xpath(’//*[@id=“u1”]/a[9]’)
set.click()
#perform 执行所有actionchains中存储的行为
ActionChains(driver).move_to_element(set).perform()
time.sleep(5)
driver.find_element_by_link_text(u’搜索设置’).click()
#鼠标右键 context_click,双击double_click(),
youjian=driver.find_element_by_id(‘su’)
ActionChains(driver).context_click(youjian).perform()
time.sleep(5)
#拖动 drag_and_drop
element=driver.find_element_by_name()
target=driver.find_element_by_name()
ActionChains(driver).drag_and_drop(element,target).perform()`
二:键盘事件
**keys()**类提供键盘上所有按键操作
**send_keys()**方法可模拟键盘输入,也可模拟键盘上的组合键
send_keys(keys_to_send):对当前焦点元素的键盘操作
send_keys_to_element(element,keys_to_send):对指定元素的键盘操作
还可以模拟一些组合键:
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)
eg:#coding=utf-8
#键盘事件
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("seleniumm")
sleep(5)
#组合键使用
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
sleep(5)
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
#ctrl+a
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')
sleep(3)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')
sleep(3)