一、前言
除了可以使用 click( ) 来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键、双击、悬停、拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封装在 ActionChains 类中。
ActionChains 类提供了鼠标操作的常用方法:
perform() 执行所有ActionChains中存储的行为 context_click() 右击 double_click() 双击 drag_and_drop() 拖动 move_to_element() 鼠标悬停二、详细使用
1.鼠标右击操作
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位到需要右击的元素 right_click = driver.find_element_by_id("id") #对元素进行右击操作 ActionChains(driver).context_click(right_click).perform() #......
ActionChains(driver):调用ActionChains类,将浏览器驱动driver作为参数传入;
perform():执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作;
2.鼠标悬停
move_to_element()方法可以模拟鼠标悬停的动作,其用法与context_click()相同;
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位到需要悬停的元素 above = driver.find_element_by_id("id") #对元素进行右击操作 ActionChains(driver).move_to_element(above).perform() #......
3.鼠标双击
double_click() 方法用于模拟鼠标双击操作;
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位到需要双击的元素 double_click = driver.find_element_by_id("id") #对元素进行右击操作 ActionChains(driver).double_click(double_click).perform() #......
4.鼠标拖动操作
drag_and_drop(source,target) 在源位置元素上按住鼠标左键,然后移动到目标元素上释放。
source:鼠标拖动的源元素
target:鼠标释放的目标元素
from selenium import webdriver #引入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Chrome() driver.get("url") #...... #定位元素的源位置 source = driver.find_element_by_id("id") #定位元素要移到到的目标位置 target = driver.find_element_by_id("id") #对元素进行拖动操作 ActionChains(driver).drag_and_drop(source,target).perform() #......
以上这篇python+selenium 鼠标事件操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。