В VBA, возможно ли иметь команду GetElementBySrc?
Мой макрос вводит данные в текстовое поле веб-страницы и нажимает поиск.
У меня есть функция Do, которая зацикливается до тех пор, пока Internet Explorer не будет в состоянии готовности, но Internet Explorer попадает в состояние готовности до завершения загрузки/загрузки страницы результатов.
Там отображается изображение "processing.gif", которое появляется на странице поиска в ожидании результатов. Я думаю, что мне больше повезет, если я смогу написать команду "If... Then", которая будет ждать, пока изображение больше не будет на странице поиска.
Тег, который я пытаюсь найти, скажет
<img alt="search" src"images/processing.gif" />
ДОПОЛНИТЕЛЬНАЯ МЫСЛЬ
Я думал о чем-то подобном.
Do
If IE.Document.GetElementsByTagName("img").Attributes("src").Value = "images/processing.gif" Is Nothing Then
Exit Do
Else
DoEvents
End If
Loop
Вот то, что я использовал в подобных обстоятельствах...
Do Until InStr(1, ie.Document.body.innerhtml, "images/processing.gif", vbTextCompare) = 0
DoEvents
Loop
Вы можете захватить элементы img и просто прокрутить до тех пор, пока не получите внутренний текст.
dim imgElm
for each imgElm in ie.Document.getElementsByTagName("img")
if imgElm.innertext = "images/processing.gif" then
'do something
exit for
end if
next