我们在做 Web 自动化的时候,有时候页面的元素不需要我们点击,值需要把鼠标移动上去就能展示各种信息。
这个时候我们可以通过操作鼠标来实现,接下来我们来讲一下使用 selenium 做 Web 自动化的时候如何来操作鼠标。
鼠标操作,我们可以使用 selenium 的 ActionChains 类来实现,我们先来认识一下这个类。
同时,在这我准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取
软件测试视频教程观看处:
2023完整版阿里大牛7天软件测试零基础速成内部教程,从基础到项目实战学完即入职。
代码做的事情:
-
- import time
- from selenium import webdriver
- from selenium.webdriver import ActionChains
- driver = webdriver.Chrome(r"D:\chromeDriver\71\chromedriver71.exe")
- driver.implicitly_wait(5)
- driver.get(url="https://www.runoob.com/try/try.php?filename=tryjs_events_mouseover")
- driver.maximize_window()
- #切换iframe
- driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@id="iframeResult"]'))
- #元素定位
- ele = driver.find_element_by_xpath('//div[@οnmοuseοver="mOver(this)"]')
- #移动鼠标到元素上触发事件
- actions = ActionChains(driver)
- actions.move_to_element(ele)
- actions.perform()
- time.sleep(5)
- driver.quit()
ActionChains 类中其他方法使用方式都一样,大家有空可以试一下
ActionChains 类中有很多方法,但是常用的并不多,上面已经列出,掌握常用方法即可
特别注意:ActionChains 的执行原理,当你调用 ActionChains 的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用 perform()方法时,队列中的时间会依次执行。
ActionChains 类中的方法可以使用链式调用,大家思考思考自己拓展吧(其实很简单)。
PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。