我在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和我必须用JavaScript来完成。我能做些什么来执行此功能?
driver.action().mouseMove()
在v4.0.0-alpha1中已弃用。请查看此链接:https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/input_exports_Actions.html
最新版本的selenium webdriver的actions api中的mouseMove()
对chrome进行了降级。如果您仍然想使用版本3.6.0,则可以恢复到该版本。
作为替代方案,您可以使用execute/executeScript或直接从这里使用。