Grails 使用chrome驱动程序时出现Selenium异常

Grails 使用chrome驱动程序时出现Selenium异常,grails,selenium,geb,selenium-chromedriver,Grails,Selenium,Geb,Selenium Chromedriver,在Grails应用程序中使用Geb进行相同的测试时,当使用默认的HtmlUnitDriver运行时,测试通过 但是,当我换成ChromeDriver时,我收到了 org.openqa.selenium.InvalidElementStateException:元素不是 当前可交互且可能不被操纵 测试登录页面时 设置emailField(通过其id“#username”选择)后立即引发异常。奇怪的是,我看到浏览器在字段上设置了值,但之后(在执行下面的代码行之前),它抛出了异常。我注意到登录页面有两

在Grails应用程序中使用Geb进行相同的测试时,当使用默认的HtmlUnitDriver运行时,测试通过

但是,当我换成ChromeDriver时,我收到了

org.openqa.selenium.InvalidElementStateException:元素不是 当前可交互且可能不被操纵

测试登录页面时


设置emailField(通过其id“#username”选择)后立即引发异常。奇怪的是,我看到浏览器在字段上设置了值,但之后(在执行下面的代码行之前),它抛出了异常。

我注意到登录页面有两个id=“username”(其中一个是隐藏字段)的元素,这就是异常的原因。当我将登录页面的id更改为另一个值(并更新了选择器)时,问题就解决了。

当我试图访问弹出窗口上的文本字段时,我遇到了相同的异常

org.openqa.selenium.InvalidElementStateException: Element is not currently interactable and may not be manipulated
我意识到窗口显示在两个地方,并验证了在FireBug+FirePath插件中,用于标识弹出窗口上文本字段的Xpath确实向我显示了两个结果

我更新了Xpath,这样它就可以在第二个弹出窗口中唯一地标识文本字段,问题就解决了