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

时间:2018-09-26 21:21:08

标签: python selenium selenium-webdriver selenium-chromedriver splinter

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

当我尝试将数据输入表单时,某些字符没有到达input中。说,我确实some_text_input.type('cats')的输入仅收到“猫”。

经过一番调查,我发现3个字符得到了特殊待遇(其余所有通过):

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

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

有人撞到这样的东西吗?转义发生在哪里?

1 个答案:

答案 0 :(得分:1)

万一有一些可怜的灵魂撞上了,那是因为:

  

在Chrome内部,ui::VKEY_BACK短路并且从不   转换为其等效的x键代码。 Chrome浏览器不尊重   远程x服务器的键代码映射。

正如2014年chromedriver bug中概述的那样。罪魁祸首是chromedriver和XQuartz的结合。截至撰写本文时(2018年9月),此bug的动作还很少(请登录chromium.org并对其进行投票!)。我目前的解决方法是确保测试中不使用有问题的字母。到目前为止,它们是:e,r,s和6。可能还会更多。

相关问题