Selenium Webdriver源码分析之ActionChains

ActionChains目录结构

ActionChains源码
在源码的例子上,我们实现了将鼠标左键从一个元素移动到另外一个元素上,然后做单击动作链。我们发现不管用方式1还是方式2都调用perform方法,这个就是类似预设一系列的操作,然后调用perform去触发预设。

ActionChains对外提供的api

API功能备注
def click(self, on_element=None)点击如果参数不写,那么点击的是当前鼠标位置 如果参数写定位到的元素对象element,那就是点这个元素
def click_and_hold(self, on_element=None)鼠标左键按住某个元素如果参数不写,那么点的是当前鼠标位置,如果参数写定位到的元素对象element,那就是点这个元素
def context_click(self, on_element=None)鼠标右键点击如果参数不写,那么点的是当前鼠标位置如果参数写定位到的元素对象element,那就是点这个元素
def double_click(self, on_element=None)双击鼠标如果参数不写,那么点的是当前鼠标位置如果参数写定位到的元素对象element,那就是点这个元素
def drag_and_drop(self, source, target)按住源元素上的鼠标左键,然后移动到目标元素并释放鼠标按钮source: 按住鼠标的元素位置,target: 松开鼠标的元素位置
def drag_and_drop_by_offset(self, source, xoffset, yoffset)按住源元素上的鼠标左键,然后移动到目标偏移量并释放鼠标按钮。
def key_down(self, value, element=None)只发送一个按键,而不释放它。只应用于修饰键(控制、alt和shift)value: 要发送的修饰符键。值在“Keys”类中定义。element: 定位的元素如果element参数不写就是当前鼠标的位置举个例子,按住 ctrl+c::ActionChains(driver).key_down(Keys.CONTROL).send_keys(‘c’).key_up(Keys.CONTROL).perform(),def key_up(self, value, element=None):,释放按键,配合上面的一起使用
def move_by_offset(self, xoffset, yoffset)将鼠标移动到当前鼠标位置的偏移量xoffset: X轴 作为一个正整数或负整数移动到x偏移量yoffset: Y轴 偏移,作为正整数或负整数。
def move_to_element(self, to_element)鼠标悬停to_element: 定位需要悬停的元素
def move_to_element_with_offset(self, to_element, xoffset, yoffset)通过指定元素的偏移量移动鼠标。偏移量与元素的左上角相对to_element: 定位需要悬停的元素xoffset: X 轴偏移量 yoffset: Y 轴偏移量
def release(self, on_element=None)释放一个元素上的鼠标按钮如果参数不写,那么是当前鼠标位置,如果参数写定位到的元素对象element,那就是这个元素
def send_keys(self, *keys_to_send)发送到当前焦点元素要发送的按键。修饰符键数可以在“Keys”类。
def send_keys_to_element(self, element, *keys_to_send):发送到定位到的元素element: 定位的元素 keys_to_send: 要发送的按键。修饰符键常数可以在“Keys”类。
def perform(self)行行为事件行为链触发

__init__函数

在这里插入图片描述

perform()方法

在这里插入图片描述

reset_actions()情况动作链函数

在这里插入图片描述

click()

在这里插入图片描述
其他函数实现都大同小异就不一一列举了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值