nodejs / selenium Webdriver:无法将鼠标移至所需位置

时间:2018-07-22 12:36:16

标签: javascript node.js selenium-webdriver selenium-chromedriver

我无法将chrome webdriver中的鼠标指针移动到nodejs中的所需位置。我正在使用-selenium webdriver 4.0.0-alpha.1

这就是我构建驱动程序的方式

const {Builder,By} = require("selenium-webdriver");
let driver = new Builder().forBrowser('chrome').build();

这是我定义将鼠标移动到名为value = { x: 262, y: 315 }的位置的逻辑

await driver.wait(until.elementLocated(By.className("OUeyt")));
let a = driver.findElement(By.className("_3Bxar"));
let actions = driver.actions({bridge: true});
await actions.mouseMove(a, value).click().perform();

每当我运行此部分时,它都说mousemove()不是函数。我已经尝试了文档说的无济于事。在stackoverflow上,存在解决方案,但Java和i必须使用JavaScript来解决。我该怎么做才能执行此功能?

2 个答案:

答案 0 :(得分:1)

driver.action().mouseMove() v4.0.0-alpha1 中已弃用。查看此链接:https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/input_exports_Actions.html

答案 1 :(得分:0)

最新的selenium-webdriverjs版本的action api中的

mouseMove()已针对chrome进行了描述。如果仍要使用它,则可以还原到3.6.0版。

作为替代方案,您可以使用execute / executeScript或直接使用

https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/input_exports_Actions.html