我正在尝试输入包含字母和特殊字符的密码,但是字符插入符号“ ^”不起作用。我尝试在sendKeys
之后添加\ ^(因为我正在使用Java进行测试),编写了unicode,等等。
其他字符(如“`”)也可以正常工作。但这不起作用
webDriver.findElement(By.id("password")).sendKeys("\\^");
webDriver.findElement(By.id("password")).sendKeys("ExA^mplePass1");
可以帮我吗?
谢谢
答案 0 :(得分:1)
我可以怀疑一下:ChromeDriver配置为始终使用键盘布局US - QWERTY
。如果找不到,则使用其他非常基本的布局,其中不包含诸如^
或°
之类的特殊字符。结果:无论您传递给SendKeys()
的什么,都不会打印特殊字符。
此行为实际上是by design,甚至是well documented。如果一个实际的enables logging:
信息性日志条目中提到了该问题无法切换到美国键盘布局-某些键可能会被解释 错误地
解决方案是安装键盘布局US - QWERTY
(代码00000409)(而不是US International - QWERTY
或类似的东西)。添加此布局的语言无关紧要。
转到Windows“语言设置”,单击“首选语言”部分下的任何语言,然后选择“选项”。然后添加US - QWERTY
: