今天测试时,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"); 报错?