node.js 的网络驱动程序:在不放弃鼠标和键盘控制的情况下在本地执行脚本?

webdriver for node.js: execute scripts locally without relinquishing mouse and keyboard control?

间歇性失败 webdriver.js

我正在创建一些 webdriver.js* 脚本来自动执行一些耗时的测试设置活动。但是,当我 运行 脚本并用键盘和鼠标做其他事情时,我回来发现间歇性地找不到特定元素。而且每次都是不同的元素。

当我 运行 相同的脚本并只看它们 运行 时,脚本会正确执行。

此外,当我研究这个潜在问题时,我想出了很多关于在 webdriver 脚本中使用鼠标的东西以及 click 方法本身的问题,但找不到与我的问题有任何关系的东西。所以我想知道我是否只是在这里做错了什么。

问题是什么?

我的问题是: webdriver.js 不是要像这样 运行 吗?(即 运行 在本地,而键盘和鼠标在做其他事情)?

Webdriver.py?

我不记得几年前使用 webdriver.py 时遇到过这些问题。 iirc,我能够在工作站被锁定时(通过 Win + L)运行 脚本,尽管我的记忆力已经不如以前了;)

我会使用 webdriver.py,但是,我们团队中没有其他人知道 python 所以我想我会去 webdriver.js,因为我们都知道 javascript :)

参数:IE11,Windows10.

* 另外,当我说“webdriver.js”时,我指的是按照 here

步骤安装的网络驱动程序

我发现如果我将 .click() 调用替换为等效的 .sendKeys() 调用(例如 webdriver.Key.ENTER / webdriver.Key.SPACE),就可以解决问题。我什至可以锁定我的工作站并且脚本 运行 没有任何问题。