鼠标事件

click()可以模拟鼠标单击,但是现在web产品有了更多的交互,如鼠标右击、双击、悬停等操作,在webdriver中这些鼠标操作都封装在ActionChains类

ActionChains提供了鼠标操作的常用方法:

1.perform():执行所有ActionChains中存储的方法
2.context_click():右击
3.double_click():双击
4.drag_and_drop():拖动
5.move_to_element():鼠标悬停

一、右键操作

from selenium import webdriver
from selenium.webdriver import ActionChains
import time

url = "https://www.sogou.com/"
driver = webdriver.Firefox()
driver.get(url)
#找到搜索输入框
search_box = driver.find_element_by_id("query")
search_box.click()
time.sleep(4)
ActionChains(driver).context_click(search_box).perform()

注:

1.from selenium.webdriver import ActionChains 导入提供鼠标操作的ActionChains类
2.ActionChains(driver)将浏览器驱动driver作为参数传入
3.context_click()模拟鼠标右键操作,在调用时需要置顶元素位置
4.perform():执行所有ActionChains中存储的行为,可以理解为整个动作的提交操作

二、鼠标悬停

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

三、鼠标双击

#定位到要双击的元素
double_click = driver.find_element_by_id("id")
#对定位到的元素执行双击操作
ActionChains(driver).double_click(above).perform()

四、鼠标拖放操作

#定位元素的原位置
element = driver.find_element_by_id("xx")
#定位元素要移动到的位置
target = driver.find_elemnt_by_id("xx")
#执行元素的拖放操作
ActionChains(driver).drag_and_drop(element,target).perform()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值