【问题标题】:UnsupportedOperationError: sendKeysToActiveElement error while invoking sendKeys(Key.ENTER) with Protractor and Internet Explorer 11UnsupportedOperationError:使用量角器和 Internet Explorer 11 调用 sendKeys(Key.ENTER) 时出现 sendKeysToActiveElement 错误
【发布时间】:2023-04-03 17:45:01
【问题描述】:

我使用的环境是

  • 量角器 5.3.1
  • 黄瓜 4.2.1
  • IE11
  • selenium-webdriver 3.6.0

在我正在测试的应用程序的页面上,没有可单击的按钮,您需要在输入字段中输入文本,然后发送 ENTER 键。以下在 chrome 和 firefox 中运行良好。

browser.driver.findElement(By.className('myClass')).then((text) => {
    text.sendKeys('abc'); // this works fine in IE11
    text.sendKeys(Key.ENTER);
});

问题是它不会在 IE11 中发送 ENTER 键,它只是跳过这一步并在测试的下一步失败。

我也试过这个:

browser.actions().sendKeys(protractor.Key.RETURN).perform();

当我尝试这个时,返回以下错误:

[15:29:10] E/launcher - UnsupportedOperationError: sendKeysToActiveElement
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'ABC', ip: '9.162.xxx.xxx', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_181'

【问题讨论】:

    标签: selenium webdriver protractor internet-explorer-11 selenium-iedriver


    【解决方案1】:

    正如您提到的,以下行不起作用:

    text.sendKeys(Key.ENTER);
    

    作为替代方案,您可以使用:

    text.sendKeys(Key.RETURN);
    

    您可以在Typing Enter/Return key in Selenium找到详细讨论

    如果元素在 form 内,您还可以使用另一种替代方法:

    text.submit();
    

    您可以在Selenium: submit() works fine, but click() does not找到详细讨论

    此外,当您使用 Internet Explorer v11 时,您需要使用Required Configuration 配置您的测试框架。除了这些仅适用于 IE 11,您还需要在目标计算机上设置 注册表项,以便驱动程序可以保持与它创建的 Internet Explorer 实例如下:

    • 对于 32 位 Windows 安装,您必须在注册表编辑器中检查的键是:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. 
      
    • 对于 64 位 Windows 安装,关键是:

      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. 
      

    您可以在Internet Explorer 11 getting stuck randomly while executing tests through IEDriverServer and Selenium找到详细讨论

    【讨论】:

    • 我试过 'text.sendKeys(Key.RETURN)' 但没用。我阅读了“在 Selenium 中键入 Enter/Returnkey”的讨论并尝试了其中的一些建议,但仍然无法正常工作。我的元素不在表单内,因此也不起作用。我认为它与 IE11 相关,就像我说的它在 chrome 和 firefox 中运行良好
    • @AutoTester 查看我更新的答案并告诉我结果。
    • 我已经将该属性添加到我的注册表中,所以这不是问题
    • 您是否花一些时间来交叉检查我提供给您参考的相关讨论以及该讨论中的链接?
    • 是的,我阅读了您提到的其他讨论,并按照建议更改了一些功能设置,但没有任何影响
    猜你喜欢
    • 2019-12-16
    • 2022-06-22
    • 2014-01-07
    • 2015-11-20
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多