使用 java 时,Selenium SendKeys 不适用于开括号和强键

标签 selenium selenium-webdriver

我使用的是 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/

相关文章:

Selenium 将 Xpath(ID 和 Class)转换为 CSS 选择器

java - 如何检查页面上是否出现了一些文本数据

python - Selenium Web 驱动程序使用 POST 请求导航到页面

selenium-webdriver - 为什么我的 Nightwatch 测试不能使用 selenium?

python - pytest-selenium 使用 mobile_emulation 或在设置中添加 userAgent

c# - 即使没有错误,也无法使用 Selenium Webdriver 注册零售网站

python - 使用 selenium python 隐藏/删除广告

python - session 超时,因为浏览器在 Browserstack 中空闲了 90 秒

excel - 最小化窗口驱动程序 selenium excel vba

python - 没有名为 'selenium.webdriver' 的模块