首先,单击大家肯定都知道,是这样的:
# 获取元素,单击 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