我在一个 UTF-8 编码的 Java 项目中使用 Selenium 3.5.3 和 IEDriver x32 在 Windows 7 和 IE 11 上。通过 selenium hub(Docker,Grid Console v.3.5.2)建立连接。与节点的直接连接按预期工作。
当使用特殊字符调用 sendKeys
时:
element.sendKeys(Keys.LEFT_CONTROL, "a", Keys.LEFT_CONTROL, Keys.BACK_SPACE, "test", Keys.TAB);
Selenium 会输入 ?a??test?
使用 Selenium 2 我没有遇到这个问题,上面的代码选择了以前输入的值 (ctrl + a)
,删除了内容,输入 test 并按下 tab 键触发更新事件.
(Keys
是 org.openqa.selenium.Keys
)
我不确定如何解决这个问题,如有任何帮助,我们将不胜感激。
最佳答案
要执行这样的操作,您可能应该更新您的代码以使用 Actions
喜欢:
Actions action = new Actions(driver);
action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).sendKeys("test").keyDown(Keys.TAB).build().perform();
关于java - Selenium 3.5 IE sendKeys 通过 Selenium Hub 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46101791/