【发布时间】:2023-03-10 05:19:01
【问题描述】:
我正在尝试模拟用户单击 ctrl 按钮的情况,按住它单击 X 秒,然后释放它。 我怎样才能用 JavaScript 做到这一点?我尝试了下面的代码,但它不起作用。
var sourceElement = document.querySelector("some selector");
var evt = new KeyboardEvent('keydown', {key: \"17\" });
sourceElement.dispatchEvent(evt);
// wait X seconds
var evt2 = new KeyboardEvent('keyup', { key: \"17\" });
sourceElement.dispatchEvent(evt2);
【问题讨论】:
-
你怎么知道它不起作用?请提供minimal reproducible example。它对我有用:jsfiddle.net/aLbv1eqo/2
-
我没有写完整的上下文。我的床。我正在用 Selenium 编写自动化测试,并尝试使用 executeScript 函数模拟上述内容:JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript(脚本);当脚本是上面的代码时。当我运行测试时它不起作用。有什么想法吗?
-
获得帮助的最佳方式是创建一个minimal reproducible example,其中包含对预期行为和实际行为的描述。目前这个问题对我来说还不清楚。你的代码 sn-p 对我有用。您不应该在评论中发布代码。不可读。
标签: javascript selenium events keyboard