IEDriverServer 发送密钥的速度非常慢 - JavaScript 替代建议

IEDriverServer sending keys incredibly slowly - JavaScript Alternative Advice

本文关键字:JavaScript 非常 密钥 速度 IEDriverServer      更新时间:2023-09-26

我试图用Selenium和IEDriverServer发送密钥,但我遇到了一个问题,即密钥发送到输入的速度非常慢。

我做了一些研究,很多网站建议确保浏览器和IEDriverServer是相同的位(我有和它们的相同),但我仍然将密钥缓慢发送到输入。

我找到了一个解决方案,我可以使用 JavaScript 来设置输入的值,但我不太确定这是否是修复慢键错误的好方法。

使用 JavaScript 而不是 Selenium 的发送密钥有什么缺点吗?

这很可能是由本机事件的使用引起的。在这一点上,我不太记得完整的故事,但像这样关闭原生事件:

DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability("nativeEvents", false);
webdriver = new InternetExplorerDriver(caps);

强制IEDriverServer使用JS而不是本机事件(直接访问IE时使用的那些事件),并使IE测试中一切运行得更快。而且我认为这也没有任何真正的缺点。

更多信息在这里。

nativeEvents应该可以工作。你也在寻找一个Javascript解决方案,在这里你可以这样做:

webDriver.executeScript("arguments[0].setAttribute('value', '" + stringValue +"')", webElement);

webElement 是输入字段,例如用户名、密码等。