如何等待任何浏览器的页面加载

How to wait for page load for any browser

在测试 运行 期间,在 chrome 中打开了多个选项卡。在打开新选项卡时,我希望 UFT 等到整个页面加载完毕。我正在尝试使其成为标准等待而不等待特定对象。

例如,在 运行 chrome 打开期间,启动 URL,单击 link,打开新选项卡,现在要加载新页面。然后从第二个选项卡中单击 link 并等待加载第三页。

如果有多个选项卡,我如何强制 UFT 等待加载最后一页?

您可以对每个打开的浏览器使用 .Sync,也可以使用 .WaitProperty "visible"、"true" 以等待 属性 对象显示。

这将等到所有页面下载完毕。

Browser().Page().Sync

这将等待特定对象

Browser().Page().Object().Waitproperty

如果你想改变 属性 个对象,循环它,比如

Do Until WaitProperty = Argument
    print "Wait. Progress "&Progress
    wait 3 'wait 3 seconds
    Progress = Progress+"." 'add a period to show progress
    Set ObjColl = MyBrowser.ChildObjects(WObj) 
    WaitProperty = cstr(ObjColl(t).GetROProperty(Arg4)) 'get the object property
Loop

在浏览器中遍历所有页面:

'Get Pages count:
Set browserObject = Description.Create
browserObject("micclass").Value = "Browser"    
GetBrowserCount = Desktop.ChildObjects(browserObject).Count

'loop and sync (or any other methods):
for i = 0 to GetBrowserCount-1
browser().page("micclass:=Page","CreationTime:="&i,"Title:=.*").Sync
next