首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Selenium-2中键入"&“符号

无法在Selenium-2中键入"&“符号
EN

Stack Overflow用户
提问于 2012-04-24 06:10:01
回答 5查看 2.3K关注 0票数 5

我想用selenium web-driver在文本框中输入"&“键。但是selenium-2在键入&符号时失去了对type-box的关注。我的命令是,self.type("&",:update => true)

我知道在selenium中,键是以UTF_8格式发送的,我尝试过发送与符号等效的内容,但行为仍然是一样的(正如预期的那样)。我知道XML或HTML支持带有一些特殊转义字符的“与”符号。我想知道有没有办法用send_keys或type_keys命令中的转义序列(如(HTML码) "&“或"&”)来代替“&”符号?

或者,有没有其他方法可以使用selenium-2在文本框中输入"&“?

请让我知道你的建议。

谢谢,Sri

EN

回答 5

Stack Overflow用户

发布于 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冲突,看看是否有解决办法。

票数 2
EN

Stack Overflow用户

发布于 2012-04-27 03:18:15

正如here所说,"&“是”与“符号的实体。试一试。

但是,我能够在WebDriver和Java中使用&符号,没有任何问题。在其他输入上尝试一下,看看这是否不是一个本地问题……

票数 0
EN

Stack Overflow用户

发布于 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中正确格式化的方式对字符串值进行编码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10289022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档