为什么插入符号“ ^”在Java + Selenium + Eclipse中不起作用?

时间:2018-10-25 16:14:16

标签: java eclipse selenium unicode sendkeys

我正在尝试输入包含字母和特殊字符的密码,但是字符插入符号“ ^”不起作用。我尝试在sendKeys之后添加\ ^(因为我正在使用Java进行测试),编写了unicode,等等。

其他字符(如“`”)也可以正常工作。但这不起作用

webDriver.findElement(By.id("password")).sendKeys("\\^"); 
webDriver.findElement(By.id("password")).sendKeys("ExA^mplePass1"); 

可以帮我吗?

谢谢

1 个答案:

答案 0 :(得分:1)

我可以怀疑一下:ChromeDriver配置为始终使用键盘布局US - QWERTY。如果找不到,则使用其他非常基本的布局,其中不包含诸如^°之类的特殊字符。结果:无论您传递给SendKeys()的什么,都不会打印特殊字符。

此行为实际上是by design,甚至是well documented。如果一个实际的enables logging

信息性日志条目中提到了该问题

无法切换到美国键盘布局-某些键可能会被解释 错误地

解决方案是安装键盘布局US - QWERTY(代码00000409)(而不是US International - QWERTY或类似的东西)。添加此布局的语言无关紧要。

转到Windows“语言设置”,单击“首选语言”部分下的任何语言,然后选择“选项”。然后添加US - QWERTY

enter image description here