Selenium 进阶技巧:实现 Web 端的鼠标操作功能

一、前言

大家在做selenium测试时,是否会遇到在网页上需要执行一些鼠标操作,如右键选择一些设置,或者双击点赞,双击放到屏幕等等,但是在日常使用中还是习惯使用selenium的基本库,而忽略了其实selenium也是有提供了丰富的鼠标操作库,通过动作链 (ActionChains)就可以实现上述操作。

二、Selenium 4 的鼠标操作

我们今天用到的是selenium内的动作链 (ActionChains),可以模拟鼠标操作,比如左键单击,右键单击、双击、长按等等。但是看名字可以知道,动作链就是将动作行程一整个链条去执行,通过在操作后面加上.perform()去实行操作内容,我们可以通过这样调用:

#创建动作链实例
chains = ActionChains(driver)
#需要操作的元素
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
#执行动作链
chains .move_to_element(menu).click(hidden_submenu).perform()

也可以通过这样调用:

#创建动作链实例
chains = ActionChains(driver)
#需要操作的元素
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
#执行动作链
chains .move_to_element(menu)
chains .click(hidden_submenu)
chains .perform()

但是需要注意的是,.perform()是执行对应所创建的动作链实例内所写的操作,如果有多个操作,且中间会穿插其他selenium操作的话,需要在每次执行.perform()操作之前,重新创建动作链实例,否则会重复执行上一个动作链操作。如:

#创建动作链实例
chains = ActionChains(driver)
#需要操作的元素
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值