我正在使用Selenium(3.14.0),Splinter(0.9.0),Chrome Webdriver和Mac上的XQuartz来测试我的代码。
当我尝试将数据输入表单时,某些字符没有到达input
中。说,我确实some_text_input.type('cats')
的输入仅收到“猫”。
经过一番调查,我发现3个字符得到了特殊待遇(其余所有通过):
请注意,这仅在Mac上发生,并且在CI环境中可以正常工作。
有人撞到这样的东西吗?转义发生在哪里?
答案 0 :(得分:1)
万一有一些可怜的灵魂撞上了,那是因为:
在Chrome内部,
ui::VKEY_BACK
短路并且从不 转换为其等效的x键代码。 Chrome浏览器不尊重 远程x服务器的键代码映射。
正如2014年chromedriver bug中概述的那样。罪魁祸首是chromedriver和XQuartz的结合。截至撰写本文时(2018年9月),此bug的动作还很少(请登录chromium.org并对其进行投票!)。我目前的解决方法是确保测试中不使用有问题的字母。到目前为止,它们是:e,r,s和6。可能还会更多。