为什么使用Webdriverio双击操作不起作用

时间:2018-10-23 10:24:58

标签: selenium double-click webdriver-io

当调用doubleClick()时,如下面的代码所示,它只在所选选择器的级别上单击一次,而不双击它。但是,双击是webdriverio API的一种,我没有了解为什么Doubleclick无法正常工作。 我使用硒作为服务器,使用chrome作为浏览器。

waitForVisibleAndDoubleClick(selector, pause = 0, timeout = 90000) {
    return this.client
      .pause(pause)
      .moveToObject(selector)
      .waitForVisibleAndDoubleClick(selector,timeout);
  }
client.addCommand('waitForVisibleAndDoubleClick', function (selector, timeout = 90000) {
    return client
      .waitForVisible(selector, timeout)
      .doubleClick(selector);
  });

2 个答案:

答案 0 :(得分:0)

请尝试使用以下代码,使用doDoubleClick()代替doubleClick(),它们之间的区别是doDoubleClick()对鼠标的当前位置执行操作:

waitForVisibleAndDoubleClick(selector, pause = 0, timeout = 90000) {
    return this.client
      .pause(pause)
      .moveToObject(selector)
      .waitForVisibleAndDoubleClick(selector,timeout);
  }
client.addCommand('waitForVisibleAndDoubleClick', function (selector, timeout = 90000) {
    return client
      .waitForVisible(selector, timeout)
      .doDoubleClick(selector);
  });

答案 1 :(得分:0)

以下步骤适用于Webdriverio + Nodejs:

    await return driver.click(locator);
    await driver.doDoubleClick();

doDoubleClick的描述为“ 在当前鼠标坐标处双击”。因此,在第一个click()中,为要双击的对象提供定位符。