0

我有一个可以打开多个窗口的网络应用程序,不是新的浏览器窗口,而是与主窗口重叠的窗口,比如弹出窗口。在一个地方,我必须验证我是否在主应用程序窗口中。我的第一个想法是获取浏览器中的窗口数量,如果这是 0,那么我就在家,但我找不到如何计算这些对象的解决方案。

主页看起来像这样:

Browser().Page()

如果我打开一个新窗口(弹出窗口),它看起来像这样:

Browser().Window().Page()

如果我从前一个打开另一个,它看起来像这样:

Browser().Window().Window().Page()

问题是如何获得 Window 元素的数量?

4

1 回答 1

0

打开的窗口是弹出窗口,所以我写了一个等待直到没有弹出窗口的函数。可能有点太复杂了,但有效。

Function waitForNoWindows(ByVal vSeconds)
   blnDone = False
   counter = 1
   While Not blnDone
       Wait 1
       If objBrowser.Window("ispopupwindow:=true").Exist(0) Then
           blnDone = False
        Else
            blnDone = True
       End If
       counter = counter + 1
       If counter = vSeconds Then
           blnDone = True
           reporter.ReportEvent micFail, "Waiting for all pop up windows to close", "Canot close all pop up windows and/or timeout reached"
           ExitTestIteration
       End If
   Wend
End Function
于 2013-01-14T08:26:39.010 回答