HJ3-8.6 web控件的交互进阶

常用的操作事件(右键点击,页面滑动,表单操作等)

Actions

Actions:执行 PC 端的鼠标点击、双击、右键、拖拽等事件
TouchActions:模拟 PC 和移动端的点击、滑动、拖拽、多点触控等多种手势操作。

Acitons 方法列表

Actions 类是 Selenium 对鼠标、键盘操作的。
常用的操作包括:
click——单击鼠标左键
click_and_hold——点击鼠标左键,不松开
context_click——点击鼠标右键
double_click——双击鼠标左键
drag_and_drop——拖拽到某个元素到目标位置后松开
drag_and_drop_by_offset——拖拽到某个坐标然后松开
move_by_offset——鼠标从当前位置移动到某个坐标
move_to_element——鼠标移动到某个元素
move_to_element_with_offset——移动到距某个元素(左上角坐标)多少距离的位置
perform()——执行链中的所有动作
releas——在某个元素位置松开鼠标左键
send_keys——发送某个键到当前焦点的元素
key_down——按下某个键盘上的键
key_up——松开某个键

动作链接Actions

  • 执行原理:
    • 调用 Acitons 的方法时,不会立即执行,而是将所有的操作,按顺序存放在一个队列里,当你调用 perform() 方法时,队列中的事件会依次执行
  • 基本用法
    • 生成一个动作 Actions actions = new Actions(driver)
    • 动作添加方法1 actions.方法1
    • 动作添加方法2 actions.方法2
    • 调用 perform() 方法执行 acitons.perform()
  • 具体写法
    • 链式写法
      Actions actions = new Actions(driver).moveToElement(ele).click().perform(ele);
      
    • 分步写法
      Actions actions = new Actions(driver);
      actions.move_to_element(element);
      actions.click(element);
      actions.perform();
      

Actions 用法1

  • 用法一:点击,右键,双击操作
    Actions actions = new Actions(driver);
    actions.click(element);
    actions.double_click(element);
    actions.context_click(element);
    actions.perform();
    

Actions 用法2

  • 用法二:鼠标移动到某个元素上
    Actions actions = new Actions(driver);
    actions.move_to_element(element);
    actions.perform();
    

Actions 用法3

  • 用法三:将一个元素拖拽到另一个元素的位置上
    Actions actions = new Actions(driver);
    actions.drag_and_hold(element_start,element_end).perform()
    或者
    actions.click_and_hold(element_start).move_to_element(element_end).release().perform();
    

Actions 用法4

  • 用法四:Actions 模拟按键方法
    • 模拟按键有多种方法,能用 win32api 来实现,能用 SendKeys 来实现,也可用 selenium 的 WebElement 对象的 send_keys() 方法来实现,这里 Actions 类也提供了几个模拟按键的方法。
  • 用法:
    Actions actions = Actions(driver);
    actions.send_keys(Keys.BACK_SPACE);
    或者
    actions.key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL);
    actions.perform();
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容