Java Selenium 3.5 IE通过Selenium Hub发送密钥编码

Java Selenium 3.5 IE通过Selenium Hub发送密钥编码,java,selenium,internet-explorer-11,Java,Selenium,Internet Explorer 11,在一个UTF-8编码的Java项目中,我将Selenium 3.5.3与IEDriver x32一起在Windows7和IE11上使用。通过selenium hub(Docker,网格控制台v.3.5.2)建立连接。与节点的直接连接按预期工作 使用以下特殊字符调用sendKeys时: element.sendKeys(Keys.LEFT_CONTROL, "a", Keys.LEFT_CONTROL, Keys.BACK_SPACE, "test", Keys.TAB); 硒将进行a型测试 对

在一个UTF-8编码的Java项目中,我将Selenium 3.5.3与IEDriver x32一起在Windows7和IE11上使用。通过selenium hub(Docker,网格控制台v.3.5.2)建立连接。与节点的直接连接按预期工作

使用以下特殊字符调用
sendKeys
时:

element.sendKeys(Keys.LEFT_CONTROL, "a", Keys.LEFT_CONTROL, Keys.BACK_SPACE, "test", Keys.TAB);
硒将进行a型测试

对于Selenium 2,我没有遇到这个问题,上面的代码选择了以前的输入值
(ctrl+a)
,删除了内容,输入了测试并按下tab键触发更新事件

Keys
org.openqa.selenium.Keys


我不知道如何解决这个问题,我们将非常感谢您的帮助。

要执行类似操作,您可能需要将代码更新为使用类似:


这可能是因为早期的驱动程序是由Selenium团队完成的,而现在它是microsoft驱动程序。因此,问题可能与IE驱动程序有关。您可能需要启用本机事件:
capabilities.setCapability(InternetExplorerDriver.native_events,true)。检查第一个字符的代码。如果是
\xE009
,则驾驶员无法模拟控制键。如果代码是
\x3F
,则类将编译为ANSI而不是UTF8.NATIVE\u‌NTS也已启用。类的编码似乎正常。它似乎与Selenium Hub(Docker Image Selenium Grid Console v.3.5.2)相关,直接连接到节点。编码sendKeys按预期工作。遗憾的是,操作也会产生相同的结果。但是谢谢你的建议。
Actions action = new Actions(driver);
action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).sendKeys("test").keyDown(Keys.TAB).build().perform();