关于selenum自动化对鼠标悬停的处理

首先什么是鼠标悬停,鼠标悬停就是鼠标停留在某个按钮或者是元素上,不需要去做点击的操作。在定位元素的时候,发现有的元素需要鼠标停留在上面才会出现,楼主没找到啥好网站,就以百度为例吧!比如下图:

不信的可以去试下。要做到鼠标悬停的效果,首先要先导入,from selenium.webdriver.common.action_chains import ActionChains,在ActionChains类中提供了所以鼠标事件的方法,

Action = ActionChains(driver),实例化ActionChains对象,传入driver对象,然后用实例对象Action,去调用鼠标悬停的方法move_to_element()。Action.move_to_element(driver.find_element_by_xpath('//div[@id="u1"]/a[text()="设置"]')),move_to_element(),括号里面填写要操作的元素位置。最后调用perform()f方法执行。

看下图方法描述:

然后在看鼠标悬停操作步骤:

附上简单demo:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time


def mouse_stop():
    '''操作百度设置按钮,鼠标悬停'''
    driver = webdriver.Chrome()
    
    driver.get('https://www.baidu.com/')
    
    driver.maximize_window()
    
    driver.implicitly_wait(30)
    
    Action = ActionChains(driver)
# todo 传入要操作鼠标悬停的元素 element = Action.move_to_element(driver.find_element_by_xpath('//div[@id="u1"]/a[text()="设置"]')) element.perform() # todo 点击perform执行 time.sleep(3) driver.quit() mouse_stop()
原文地址:https://www.cnblogs.com/xiamaojjie/p/11418042.html