分裂/硒将某些字符解释为转义序列



我正在使用Selenium(3.14.0(,Splinter(0.9.0(,Chrome Webdriver,Mac上的XQuartz来测试我的代码。

当我尝试将数据输入表单时,某些字符没有到达input。比如说,我确实some_text_input.type('cats')输入只收到"猫"。

经过一番调查,我发现 3 个字符得到了特殊处理(而其余的都通过了(:

  • "e"变为退格键 - 并删除前一个字符
  • "r"变为返回
  • "s"变成空间

请注意,这仅在 Mac 上发生,并且在 CI 环境中工作正常。

有没有人碰到过这样的事情?逃跑发生在哪里?

万一一些可怜的灵魂碰到了这一点,发生这种情况的原因是:

在Chrome内部,ui::VKEY_BACK短路,永远不会 转换为其 X 键代码等效项。铬不尊重 远程 X 服务器的密钥代码映射。

如 2014 年的这个 chromedriver 错误中所述。所以罪魁祸首是chromedriver和XQuartz的结合。截至撰写本文时(2018 年 9 月(,此错误尚未有太大进展(请在 chromium.org 登录并对其进行投票!我目前的解决方法是确保在我的测试中不使用冒犯性的字母。到目前为止,它们是:e,r,s和,6。 可能还有更多。

相关内容

  • 没有找到相关文章

最新更新