在Grails应用程序中使用Geb进行相同的测试时,使用默认的HtmlUnitDriver运行时测试通过。
但是,当我改为ChromeDriver时,我收到了
org.openqa.selenium.InvalidElementStateException:元素不是 目前可互动且可能无法操纵
测试登录页面时。
设置emailField后立即抛出异常(通过其id'#username'选择)。奇怪的是我看到浏览器在字段上设置了值,但在那之后(在执行代码的下一行之前)它抛出了异常。
答案 0 :(得分:4)
我注意到登录页面有2个元素,id =“username”(其中一个是隐藏字段),这就是异常的原因。当我将登录页面的id更改为另一个值(并更新了选择器)时,问题就解决了。
答案 1 :(得分:-1)
当我尝试访问弹出窗口中的文本字段时,我遇到了同样的异常。
org.openqa.selenium.InvalidElementStateException: Element is not currently interactable and may not be manipulated
我意识到窗口显示在两个地方,并且验证了用于识别弹出窗口上的文本字段的Xpath确实向我展示了FireBug + FirePath插件中的两个结果。
我更新了Xpath,以便在第二个弹出窗口中唯一标识文本字段,问题就解决了。