0

量角器的mouseMove有什么替代品吗?我希望鼠标悬停在菜单上。但它似乎不受 geckodriver 的支持。

到目前为止,我已经尝试过 browser.executeScript('arguments[0].mouseMove()', element(by.className('menu')));

但是得到这个错误,Failed: TypeError: arguments[0].mouseOver is not a function。

谢谢 :)

4

2 回答 2

0

您的脚本中有两个错误用法。

首先,Protractor element()api 返回一个 ElementFinder,它是 HTML Web Element 的包装器。但是arguments[0]inarguments[0].mouseMove()需要一个 HTML Web 元素。此规则适用于所有浏览器,不仅 Firefox 需要。

您需要调用getWebElement()ElementFinder 来获取 Web 元素,如下所示。

其次,HTML Web Element没有mouseMove()api,而是mousemoveevent。

browser.executeScript(
    // web element not has mouseMove() api,
    // so below usage is wrong.
    'return arguments[0].mouseMove();', 
    element(by.className('menu')).getWebElement()
);
于 2018-10-15T05:12:02.137 回答
0

我设法解决了:) 感谢您的帮助。

这是我发现的工作,

browser.executeScript( 'return arguments[0].click();', browser.driver.findElement(by.className('menu')));

于 2018-10-17T00:19:36.697 回答