Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Splinter/selenium将某些字符解释为转义序列_Python_Selenium_Selenium Webdriver_Selenium Chromedriver_Splinter - Fatal编程技术网

Python Splinter/selenium将某些字符解释为转义序列

Python Splinter/selenium将某些字符解释为转义序列,python,selenium,selenium-webdriver,selenium-chromedriver,splinter,Python,Selenium,Selenium Webdriver,Selenium Chromedriver,Splinter,我正在使用Selenium(3.14.0)、Splinter(0.9.0)、ChromeWebDriver和Mac上的XQuartz来测试我的代码 当我尝试将数据输入表单时,一些字符没有到达输入。比如说,我做了一些文本输入。键入('cats')输入只接收'cat' 经过一些调查,我发现3个角色得到了特殊的待遇(而其余的都通过了): “e”变为退格-并删除上一个字符 “r”变成了return “s”变成了空间 请注意,这只发生在Mac上,在CI环境中可以正常工作 有人碰到过这样的事吗?逃跑发生

我正在使用Selenium(3.14.0)、Splinter(0.9.0)、ChromeWebDriver和Mac上的XQuartz来测试我的代码

当我尝试将数据输入表单时,一些字符没有到达
输入
。比如说,我做了
一些文本输入。键入('cats')
输入只接收'cat'

经过一些调查,我发现3个角色得到了特殊的待遇(而其余的都通过了):

  • “e”变为退格-并删除上一个字符
  • “r”变成了return
  • “s”变成了空间
请注意,这只发生在Mac上,在CI环境中可以正常工作


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

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

在Chrome内部,
ui::VKEY\u BACK
短路,永远不会断开 转换为其等效的x键代码。铬不尊重环境 远程x服务器的密钥代码映射


如2014年本报告所述。因此,罪魁祸首是chromedriver和XQuartz的组合。在撰写本文(2018年9月)时,关于这个bug还没有太多的进展(请登录chromium.org并投票!)。我目前的解决办法是确保在我的测试中不使用有问题的字母。到目前为止,它们是:e、r、s和6。可能还有更多。

我在splinter/selenium
0.9.0/3.13.0
Windows上看不到它。使用此命令:
从splinter导入浏览器;浏览器=浏览器(驱动程序名称='chrome');浏览器。访问('https://stackoverflow.com/questions/52526184/splinter-selenium-interprets-some-characters-as-escape-sequences');browser.find_by_xpath('/*[@id=“search”]/div/input')。键入('cats')
Oi,这听起来像是一场噩梦,必须记住并维护不包含特定字母的测试。我的第一反应是抛弃XQuartz,你会推荐什么作为Mac OS的替代品?(我的开发机器)我们计划抛弃chromedriver而代之以Firefox,我想这取决于您使用XQuartz的目的。出于某种原因,您需要将其与chromedriver一起使用吗?或者您可以直接在selenium中使用chromedriver吗?基本上,如果CI中的测试失败,我希望在开发机器上运行它们,直观地查看浏览器正在做什么,以及失败的原因。所以,是的,我确实需要它。正如我在问题中提到的,在CI方面,一切都很好,当然,没有XQuartz。