(十一)ActionSequence

乙醇 创建于 8 个月 之前

最后更新时间 2018-09-11

组合事件

当页面的交互比较复杂的时候,我们可能会使用到组合事件。比如先把鼠标移动到某个元素上,然后按住鼠标,将该元素拖到另一个地方。为了完成这种操作,我们就需要使用组合事件ActionSequence

组合事件中,我们可以组合鼠标和键盘的操作,这些操作将根据我们组合的顺序依次执行。

基本用法

  • 直接使用WebDriver.actions()进行调用,不需要额外的初始化工作;
  • 只有显示调用了perform()方法才让所有动作真正得到执行;简而言之,一定要调用perform();
driver.actions().
     keyDown(Key.SHIFT).
     click(element1).
     click(element2).
     dragAndDrop(element3, element4).
     keyUp(Key.SHIFT).
     perform();

实例方法

  • click( opt_elementOrButton, opt_button ): 单击,相当于把鼠标移动到元素的中心,然后点击左键

  • doubleClick( opt_elementOrButton, opt_button ): 双击, 相当于把鼠标移动到元素的中心,然后双击左键

  • this.dragAndDrop( element, location ): 拖拽,第1个参数是拖谁(WebElement),第2个参数是拽到哪里,可以是WebElement,也可以是坐标{x: number, y: number}

  • this.keyDown( key ): 按下一个键,必须是{ALT, CONTROL, SHIFT, COMMAND, META}中的一个, 会一直按着,除非调用keyUp()进行松开

  • this.keyUp( key ): 松开一个键,必须是{ALT, CONTROL, SHIFT, COMMAND, META}中的一个

  • this.mouseDown( opt_elementOrButton, opt_button ): 按下鼠标,除非mouseUp,否则不松开

  • this.mouseMove( location, opt_offset ): 把鼠标移动到元素的中心或者具体位置,当然,第2个参数可以也可以增加1个偏移量, {x: number, y: number}

  • this.mouseUp( opt_elementOrButton, opt_button ): 松开鼠标

  • this.sendKeys( ...var_args ): 除了具体的Key以外,该方法也可以接受Array,这样模拟组合键就容易多了

我要留言

暂无评论