1

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

但是,当我更改为 ChromeDriver 时,我收到了

org.openqa.selenium.InvalidElementStateException:元素当前不可交互,可能无法操作

在测试登录页面时。

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

4

2 回答 2

4

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

于 2012-11-24T00:18:35.577 回答
-1

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

org.openqa.selenium.InvalidElementStateException: Element is not currently interactable and may not be manipulated

我意识到该窗口显示在两个位置,并验证了用于识别弹出窗口上的文本字段的 Xpath 确实在 FireBug+FirePath 插件中向我显示了两个结果。

我更新了 Xpath,以便它可以唯一地识别第二个弹出窗口上的文本字段,问题得到解决。

于 2015-02-05T08:56:56.530 回答