1

我有一个弹出窗口,在提交后加载然后自动关闭,然后加载父窗口。我的问题是确保 Selenium 等到弹出窗口完成加载、关闭并且父窗口完成加载。

在慢速下,以下代码可以确保我们等到弹出窗口加载:

<!--OK button.-->
<tr>
    <td>click</td>
    <td>name=_action</td>
    <td></td>
</tr>
<tr>
    <td>waitForFrameToLoad</td>
    <td>null</td>
    <td></td>
</tr>
<!--Pop up closes. Back to parent window.-->

在快速运行时,以下代码有效,因为它转到下一个命令,因此需要告诉它等待弹出窗口完成加载:

<!--OK button.-->
<tr>
    <td>click</td>
    <td>name=_action</td>
    <td></td>
</tr>
<tr>
    <td>waitForElementNotPresent</td>
    <td>id=head_check</td>
    <td></td>
</tr>
<tr>
    <td>waitForFrameToLoad</td>
    <td>null</td>
    <td></td>
</tr>
<!--Pop up closes. Back to parent window.-->

我的问题是我无法控制用户是以慢速还是快速运行脚本,如果我尝试 waitForElementNotPresent,慢速会导致错误:

[error] modifyWindow: Window was closed!
4

1 回答 1

1

由于慢速有效,我们可以通过添加暂停在它中断的唯一一步“减慢”快速速度:

<tr>
    <td>pause</td>
    <td>5000</td>
    <td></td>
</tr>
于 2012-11-09T12:48:02.330 回答