一、鼠标事件


1. webdriver中,关于鼠标操作的方法封装在ActionChains类中
ActionChains类提供了鼠标操作的常用方法:
perform:执行所有ActionChains中存储的行为
context_click():右击
double_click():双击
drag_and_drop():拖动
move_to_element():鼠标悬停


2. 鼠标右击操作

#yunpan.py
#coding:utf-8
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver

driver=webdriver.Chrome()
driver.get("https://yunpan.360.cn")
#....... 
#定位到要右击的元素
right_click=driver.find_element_by_id("XXX")
#对定位到的元素执行鼠标右键操作
ActionChains(driver).context_click(right_click).perform() 

(1)from selenium.webdriver.common.action_chains import ActionChains
  导入提供鼠标操作的ActionChains类。
(2)ActionChains(driver)
  调用ActionChains()类,将浏览器驱动driver作为参数传入
(3)context_cilick(right_click)
  context_click()方法用于模拟鼠标右键操作,在调用时需要指定元素定位
(4)perform()
  执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作
3. 鼠标悬停
move_to_element()方法可以模拟鼠标悬停的动作,器用法与context_click()相同

#mouse.py
#定位到要悬停的元素
above=driver.find_element_by_id('xxx')

#对定位到的元素执行悬停操作
ActionChains(driver).move_to_element(above).perform()
#.....

 

4. 鼠标双击操作
double_click()方法用于模拟鼠标双击操作

#mouse.py
#定位到要悬停的元素
double_click=driver.find_element_by_id('xxx')

#对定位到的元素执行双击操作
ActionChains(driver).double_click(double_click).perform()
#.....

 

5. 鼠标拖放操作
drag_and_drop(source,target)在源元素上按住鼠标左键,然后移动到目标元素上释放
source:鼠标拖动的源元素
target:鼠标释放的目标元素

#mouse.py
#........

#定位元素的原位置
element=driver.find_element_by_id("XX")
#定位元素要移动到的目标位置
target=driver.find_element_by_id("XX")

#执行元素的拖放操作
ActionChains(driver).drag_and_drop(element,target).perform()
#.......

  






02-13 20:17