一、前言
除了可以使用 click( ) 来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键、双击、悬停、拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封装在 ActionChains 类中。
ActionChains 类提供了鼠标操作的常用方法:
perform() | 执行所有ActionChains中存储的行为 |
context_click() | 右击 |
double_click() | 双击 |
drag_and_drop() | 拖动 |
move_to_element() | 鼠标悬停 |
二、详细使用
1.鼠标右击操作
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位到需要右击的元素 right_click = driver.find_element_by_id("id") #对元素进行右击操作 ActionChains(driver).context_click(right_click).perform() #......
ActionChains(driver):调用ActionChains类,将浏览器驱动driver作为参数传入;
perform():执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作;
2.鼠标悬停
move_to_element()方法可以模拟鼠标悬停的动作,其用法与context_click()相同;
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位到需要悬停的元素 above = driver.find_element_by_id("id") #对元素进行右击操作 ActionChains(driver).move_to_element(above).perform() #......
3.鼠标双击
double_click() 方法用于模拟鼠标双击操作;
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位到需要双击的元素 double_click = driver.find_element_by_id("id") #对元素进行右击操作 ActionChains(driver).double_click(double_click).perform() #......
4.鼠标拖动操作
drag_and_drop(source,target) 在源位置元素上按住鼠标左键,然后移动到目标元素上释放。
source:鼠标拖动的源元素
target:鼠标释放的目标元素
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位元素的源位置 source = driver.find_element_by_id("id") #定位元素要移到到的目标位置 target = driver.find_element_by_id("id") #对元素进行拖动操作 ActionChains(driver).drag_and_drop(source,target).perform() #......
以上这篇python+selenium 鼠标事件操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
http://www.cnblogs.com/fnng/p/3288444.html 本节重点: ActionChains 类 context_click() 右击 double_click() 双击 drag_and_drop() 拖动 测试的产品中有一个操作是右键点击文件列表会弹出一个快捷菜单,可以方便的选择快捷菜单中的选择对文件进行操作(删除、移动、重命名),之前学习元素的点击非常简单: d
问题内容: 我一直在尝试使用带有Firefox 19的Selenium WebDriver在我的网页中测试工具提示。 我基本上是在尝试使用鼠标动作将鼠标悬停在附加有工具提示的元素上,以测试工具提示的显示和悬停。在另一个元素上以测试工具提示是否隐藏。第一个操作工作正常,但是将鼠标悬停在另一个元素上时,工具提示仍然可见。手动测试网页时不会发生此问题。 有人遇到过这个问题吗?我正在使用Ubuntu 12
在本章中,我们将详细介绍鼠标事件及其属性。 请注意:此类事件不仅可能来自于“鼠标设备”,还可能来自于对此类操作进行了模拟以实现兼容性的其他设备,例如手机和平板电脑。 鼠标事件类型 我们已经见过了其中一些事件: mousedown/mouseup 在元素上点击/释放鼠标按钮。 mouseover/mouseout 鼠标指针从一个元素上移入/移出。 mousemove 鼠标在元素上的每个移动都会触发此
鼠标事件的种类 鼠标事件指与鼠标相关的事件,继承了MouseEvent接口。具体的事件主要有以下一些。 click:按下鼠标(通常是按下主按钮)时触发。 dblclick:在同一个元素上双击鼠标时触发。 mousedown:按下鼠标键时触发。 mouseup:释放按下的鼠标键时触发。 mousemove:当鼠标在一个节点内部移动时触发。当鼠标持续移动时,该事件会连续触发。为了避免性能问题,建议对该
目标 学习在OpenCV中处理鼠标事件 你将学习这些函数:cv2.setMouseCallback() 简单的演示 在这里,我们创建一个简单的应用程序,无论我们在哪里双击它,都会在图像上绘制一个圆圈。 首先我们创建一个鼠标事件发生时执行的回调函数。鼠标事件可以是任何与鼠标有关的东西,例如左键,左键,左键双击等。它给我们每个鼠标事件的坐标(x,y)。有了这个活动和地点,我们可以做任何我们喜欢的事情。
就像前几节介绍的那样,Cocos2d-x 支持响应鼠标事件 创建鼠标事件监听器: _mouseListener = EventListenerMouse::create(); _mouseListener->onMouseMove = CC_CALLBACK_1(MouseTest::onMouseMove, this); _mouseListener->onMouseUp = CC_CALLBA