1

我正在使用 Selenium 浏览器自动化框架测试一个站点。在测试过程中,我切换到一个特定的帧,我们称之为“frame_1”。后来,我在 Select 类中使用了 deselectAll() 方法。不久之后,我得到了一个 StaleElementReferenceException,即一个帧引用问题,因此“frame_1”不再是目标。

但是,如果我在相关的多选框中注释掉 deselectAll() ,则一切正常(当然,除了多选未被清除)。

因为无论我是否调用 deselectAll() 方法,我都在操作相同的元素,并且当我调用 deselectAll() 时我只得到帧引用异常,我怀疑这个方法调用对目标帧有影响,或者ETC...

这是预期的行为和/或我错过了什么吗?

4

1 回答 1

0

事实证明,问题是在 deselectAll() 调用之前触发的。首先,我创建了一个 Select 对象,然后一些 javascript 代码从该选择列表中删除了一个项目。此时 Select 对象已过时,因此 deselectAll() 调用失败(之后没有其他操作。)

于 2013-05-10T17:00:23.310 回答