我有一个可以打开几个窗口的Web应用程序,而不是新的浏览器窗口,但是窗口与主窗口重叠,就像弹出窗口一样。在一个地方,我必须验证我是否在主应用程序窗口。我的第一个想法是在浏览器中获取窗口数量,如果这是0,那么我就回家了,但我找不到如何计算这些对象的解决方案。
主页面如下:
Browser().Page()
如果我打开一个新窗口(弹出窗口),它看起来像这样:
Browser().Window().Page()
如果我从前一个打开另一个,它看起来像这样:
Browser().Window().Window().Page()
问题是如何获取Window元素的数量?
答案 0 :(得分: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