鼠标事件

在使用鼠标操作之前要先导入存放这些方法的类ActionChains,下面练习一个在百度首页悬停设置元素的列子,完整的导入写法如下:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#定位到要悬停的元素,百度搜索页面的设置元素
above = driver.find_element_by_xpath("//div[@id='u1']/a[@name='tj_settingicon']")
#对定位到的元素执行悬停操作
ActionChains(driver).move_to_element(above).perform()
driver.quit()
print "运行完成!"

其他的鼠标操作与上面的使用方法类似:右击ActionChains(driver).context_click(element).perform; 

双击ActionChains(driver).double_click(element).perform();

拖拽ActionChains(driver).drag_and_drop(element,target).perform()。

键盘事件

和鼠标操作一样,键盘操作也是放在一个封装好的类中,这个类是 Keys。下面用一个例子来认识常见的键盘操作:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#输入框输入内容
driver.find_element_by_id("kw").send_keys("seleniumm")
#删除多输入的一个m
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(u"教程")
#全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'A')
#剪切全中的内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'X')
#将剪切的内容复制到输入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'V')
#通过回车键来代替点击操作
driver.find_element_by_id("kw").send_keys(Keys.ENTER)

driver.quit()
print "运行成功!"

上面的列子涵盖了一些基本的操作其他能想到的操作大家可以查询Keys 这个类来学习哦。