webdriver+python模拟鼠标悬停

一、问题的提出

最近在用Python+WebdriverWeb自动化测试脚本,发现了这样一个问题:网页上有这样一个名为“Add Target”的按钮,但是使用find_element函数发现无法找到元素。原来它需要鼠标悬停在按钮“Daily Case Management”上才会出现,如下图:

二、解决方法

这种情况下,主要的难点就是如何触发鼠标悬停事件,在网上搜了一下,发现也有人跟我遇到了类似的问题:http://bbs.opentest.cn/thread-182-1-1.html

解决方法就是使用webdriverAPI――Action Chains,调用它的move_to_element方法,源代码如下:

import sys
from selenium import webdriver
##导入Action Chains模块
from selenium.webdriver.common.action_chainsimport *
…
##建立动作链
chain = ActionChains(driver)
##定位到HTML元素Daily Case Management
implement =driver.find_element_by_xpath("//a[@data-subid='1']")
##执行
chain.move_to_element(implement).perform()
##点击Add Target
driver.find_element_by_xpath("//a[@data-tabid='tab-202101001']").click()
…

三、举一反三

WebDriver有很多其它API,正是这些API让它显得如此强大,像响应键盘按键、异常处理等等,具体内容可参考以下资料:

http://selenium-python.readthedocs.org/en/latest/api.html



你可能感兴趣的:(python,webdriver,鼠标悬停)