今天测试时,passwd.sendKeys("123456"); 报错 unknown error: cannot focus element。很不理解,因为 passwd.isDisplayed() 是 true 的,那为什么 passwd.sendKeys("123456");执行后并没有实际输入。先贴下前端的源码:

<div class="passw">
   <input type="text" class="logininput" id="passwd1" style="color: rgb(153, 153, 153);" value="请输入密码" name="passwd"> 
   <input type="password" class="logininput" id="passwd2" style="display: none;" value="请输入密码" name="passwd">  
</div>

后来换了一种方式模拟键盘输入就可以了

Actions action = new Actions(driver); 
action.sendKeys(passwd,"123456").perform();

或者

JavascriptExecutor js = (JavascriptExecutor) driver;
 js.executeScript("arguments[0].value=\"123456\"", passwd);

但我现在都没明白为什么 passwd.sendKeys("123456"); 报错?


↙↙↙阅读原文可查看相关链接,并与作者交流