如何在mocha webdriverio中使用JavascriptExecutor

时间:2018-04-11 05:08:05

标签: node.js mocha webdriver-io

enter image description here enter image description here我使用mocha,webdriverio selenium-standalone框架。我想使用JavaScriptExecutor单击元素,但不起作用。

任何人都可以帮助我吗?

由于

enter image description here

it('click icon',function(){
    browser.waitForVisible(elementselector.dockServiceButton, 2000);
    assert.ok(browser.isExisting(elementselector.dockServiceButton)); 

    dockServiceButtonElement=$('//div[@class="icon-dock icon-dock-service "]')
    JavaScriptExecutor ex = (JavaScriptExecutor)Driver;
    ex.ExecuteScript("arguments[0].click();", dockServiceButtonElement);
}

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,可以使用:

// clicks on element using JavaScript
browser.addCommand("jsClick", function(this: ElementResult) {
  this.then((element) => {
    browser.execute("arguments[0].click();", element.value);
  });
});

此代码也有效

browser.addCommand("jsClick", function(this: any) {
  browser.execute("arguments[0].click();", this.element().value);
});

有关addCommand的更多信息: http://webdriver.io/api/utility/addCommand.html

答案 1 :(得分:0)

您无法使用javascript执行程序。 您已经在test'登录系统中正确点击了,所以只需使用相同的内容:

browser.click(dockServiceButtonElement);
// or you can call click method directly on element object:
dockServiceButtonElement.click()

来源:http://webdriver.io/api/action/click.html