我想用selenium web-driver在文本框中输入"&“键。但是selenium-2在键入&符号时失去了对type-box的关注。我的命令是,self.type("&",:update => true)
我知道在selenium中,键是以UTF_8格式发送的,我尝试过发送与符号等效的内容,但行为仍然是一样的(正如预期的那样)。我知道XML或HTML支持带有一些特殊转义字符的“与”符号。我想知道有没有办法用send_keys或type_keys命令中的转义序列(如(HTML码) "&“或"&”)来代替“&”符号?
或者,有没有其他方法可以使用selenium-2在文本框中输入"&“?
请让我知道你的建议。
谢谢,Sri
发布于 2012-08-15 01:12:33
我在这上面花了好几天的时间,最后@Asaph告诉我“暂时删除你所有的javascript,看看是不是这就是导致&符号消失的原因。”他是对的。现在$searchBox->send_keys("bath & body");运行得很好。
我最终将范围缩小到Jquery-ui Autocomplete的一个干扰部分。这个属性:source:function( request, response ) { //implementation removed }所有其他的javascript都可以留在原地并且工作正常。现在我想弄清楚为什么Jquery-ui > Autocomplete > Source与WebDriver冲突,看看是否有解决办法。
发布于 2012-04-27 03:18:15
正如here所说,"&“是”与“符号的实体。试一试。
但是,我能够在WebDriver和Java中使用&符号,没有任何问题。在其他输入上尝试一下,看看这是否不是一个本地问题……
发布于 2014-06-05 23:25:25
我遇到了同样的问题,并通过执行JavaScript而不是使用Selenium SendKeys方法解决了它。
IJavaScriptExecutor jsExec = (IJavaScriptExecutor)webDriver;
jsExec.ExecuteScript("document.getElementById('your-input-id-here').value =“+ JsonConvert.SerializeObject(yourValueHere));
JsonConvert.SerializeObject()来自JSON.NET,这是一种对要在JavaScript中使用的字符串值进行编码的便捷方法。但是您可以以任何在JavaScript中正确格式化的方式对字符串值进行编码。
https://stackoverflow.com/questions/10289022
复制相似问题