gpt4 book ai didi

selenium - 失败 : sendKeysToActiveElement error while invoking sendKeys to ENTER and other keystrokes using ChromeDriver Chrome with Protractor

转载 作者:行者123 更新时间:2023-12-03 10:06:26 24 4
gpt4 key购买 nike

在我自动更新到 Chrome 76 后,我今天使用 sendKeys 按 Enter 或 Tab 的 Protractor 测试失败了。

这是昨天在 Chrome 75 上发现的。

这是曾经工作的代码:

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

错误信息是
Failed: sendKeysToActiveElement 
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'DESKTOP-6JGLC4V', ip: '192.168.0.5', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_221'
Driver info: driver.version: unknown

我们的 Angular 应用程序具有下拉菜单,您必须在下拉菜单之外单击或按 Tab 键将其关闭。所以我没有将击键发送到输入元素。我试过 $('body').sendKeys(protractor.Key.TAB);但这似乎不起作用。

最佳答案

此错误消息...

Failed: sendKeysToActiveElement 

...意味着 Chrome 驱动程序 无法调用 sendKeys()到 ActiveElement。

当 ChromeDriver/Chrome 切换到 时,此问题开始浮出水面。 W3C 支持。

讨论中的@AutomatedTester UnsupportedOperationError: sendKeysToActiveElement with sendkeys提到,这可能是客户端绑定(bind)中的 Actions 类中的一个问题。

There should be a little shim in the bindings that make sure the same functionality is given on older commands that have been removed. This has been implemented in the core selenium binding.


  • python example :
    def send_keys(self, *keys_to_send):
    """
    Sends keys to current focused element.
    :Args:
    - keys_to_send: The keys to send. Modifier keys constants can be found in the
    'Keys' class.
    """
    typing = keys_to_typing(keys_to_send)
    if self._driver.w3c:
    for key in typing:
    self.key_down(key)
    self.key_up(key)
    else:
    self._actions.append(lambda: self._driver.execute(
    Command.SEND_KEYS_TO_ACTIVE_ELEMENT, {'value': typing}))
    return self

    def send_keys_to_element(self, element, *keys_to_send):
    """
    Sends keys to an element.
    :Args:
    - element: The element to send keys.
    - keys_to_send: The keys to send. Modifier keys constants can be found in the
    'Keys' class.
    """
    self.click(element)
    self.send_keys(*keys_to_send)
    return self


  • 解决方案

    @barancev 已经通过提交 Renaming back 'py' directory, use of 'legacy_create_init' argument 合并了所需的更改这个问题将在 ChromeDriver v77.0/Chrome v77.0 的下一个版本中得到完全解决。

    好消息是 ChromeDriver v77.0 已经发布,包含以下修复。来自 Release Notes of ChromeDriver v77.0 :
  • 已解决的问题 2975:Webdriver 按键操作(CONTROL、SHIFT 等)在 ChromeDriver 75.0.3770.8 [Pri-2]
  • 中不起作用
  • 已解决的问题 2981:W3C 模式下的 Chromedriver 在 Actions API 调用之间丢失鼠标状态 [Pri-2]


  • 奥特罗

    Protractor.Key.Enter is not working in ChromeDriver v75.0.3770.8

    关于selenium - 失败 : sendKeysToActiveElement error while invoking sendKeys to ENTER and other keystrokes using ChromeDriver Chrome with Protractor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57419356/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com