我使用的是 selenium webdriver 2.33.0,并且我需要发送数据中包含以下字符的数据 ("(", "#")
当我们尝试使用 sendkeys 发送这些字符时
"WebElement dat = driver.findElement(By.xpath("xpathexpression);
dat.sendkeys("select * from (?s, ?p, ?o)");
以下数据在文本区域中显示为 select * from ?s, ?p, ?o)
左括号丢失。我也使用了 Selenium Action 类 sendkeys 和机器人 sendkeys 。
我无法解决这个问题。有人可以帮我解决这个问题吗?
最佳答案
丑陋但有效的解决方法:按照 user2935099 的建议,将左括号 (
替换为按键序列 shift + 9
。
dat.sendKeys(Keys.chord(Keys.SHIFT, "9"));
有趣的是,无论您当前的键盘布局如何,这似乎都有效(我使用爱尔兰语言环境和法语布局)。
<小时/>我在 2.40.0 版本中偶然发现了这个,它绝对是 Selenium 中的一个错误。在 Firefox JavaScript 控制台中使用以下命令可以完美运行:
var box = getElementById('SearchBox');
box.setValue('AB (CDE FGH)');
关于使用 java 时,Selenium SendKeys 不适用于开括号和强键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704559/