У меня есть приложение, которое открывает некоторые новые вкладки. Я пытаюсь пройти через эти вкладки, посмотреть на них, а затем закрыть их.Window ("hwnd: =" & handle) .Restore вызывает ошибку объекта, не отображаемую
Dim tab_children, oDesc
Set oDesc = Description.Create
oDesc("micclass").value = "Browser"
Set tab_children = Desktop.ChildObjects(oDesc)
Dim title, handle, cTime
For i = 0 To tab_children.Count-1 Step 1
title = tab_children(i).GetROProperty("title")
handle = tab_children(i).GetROProperty("hwnd")
Window("hwnd:=" & handle).Restore
msgbox title & ": " & handle
Next
Когда мы пытаемся выполнить .Restore, я получаю ошибку «объект не видимый». Вкладка, которую мы пытаемся восстановить, - это не та, которая имеет фокус, это может быть проблемой, и если да, то как мы можем ее решить? У меня создалось впечатление, что .Restore привнесет эту вкладку в фокус, основанный на этой теме, http://www.advancedqtp.com/old_forums/viewtopic.php?t=1970
IDE Я использую QTP, браузер IE.
Потенциальная работа вокруг, о которой я думал: После того, как приложение открывает новые вкладки, последняя открытая вкладка имеет фокус. Если мы закроем этот, второй, чтобы последний имел фокус, вплоть до вкладки оригинального приложения. Возможно, есть способ использовать эту информацию.
Ни один .Restore или .Activate на самом деле не позволяет сосредоточить нужную вкладку. Это то, что они должны делать? –
Открываете ли вы новую вкладку в том же окне? – Harman
Да каждая вкладка открывается в том же окне. –