python+selenium(webdriver)利用ActionChains类页面元素的鼠标悬浮、右击、双击高级操作

首先,单击大家肯定都知道,是这样的:

# 获取元素,单击
driver.find_element_by_xpath("//ul[@id='ttForSelect']//span[contains(text(),'selenium')]").click()

那么,如果要实现悬浮、右击、双击操作,怎么办呢?webdriver是没有这个功能的。

这里要用到ActionChains(),这个类封装了所有对页面元素可以进行的高级操作。

注:Action是动作行为的意思,Chains是链表的意思,driver代表当前浏览器,合起来就是链接浏览器驱动进行指定动作行为,然后perform()执行。

 

具体代码如下:

# 首先需要导入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains

# 获取元素
sjml = driver.find_element_by_xpath("//ul[@id='ttForSelect']//span[contains(text(),'selenium')]")

# 鼠标移动到指定元素,实现悬浮操作。
ActionChains(driver).move_to_element(sjml).perform()
# 配合强制睡眠,实现悬浮时间
time.sleep(4)

# 对指定元素,进行鼠标右击操作。
ActionChains(driver).context_click(sjml).perform()

# 使用ActionChains库,对元素进行双击操作。
ActionChains(driver).double_click(sjml).perform()

本文是亲自测试、整理后输出,希望对您有帮助。

 

参考资料有:

http://www.manongjc.com/detail/18-lwefxamoyjweowi.html

https://blog.csdn.net/zou75718/article/details/108102166

https://blog.csdn.net/longfei_2010/article/details/80264864

 

posted @ 2021-08-28 16:49  毛伢子  阅读(418)  评论(0编辑  收藏  举报