Я написал скрипт на VBA с использованием IE, чтобы автоматически достичь нижней части веб-страницы. Веб-страница отображает ее содержимое таким образом, что при прокрутке вниз появляется больше продуктов. Я использовал .scrollBy
в своем скрипте для обработки ленивой нагрузки.
Я не понимаю, как остановить прокрутку, когда больше нет новых продуктов для загрузки - я использовал .scrollBy
в цикле Do
. Как выйти из цикла, когда прокрутка завершена и браузер достигает нижней части веб-страницы? Заранее спасибо за любое решение.
Это то, что я пробовал до сих пор:
Sub HandleLazyload()
Const URL As String = "https://www.inc.com/profile/sumup-payments-limited"
Dim IE As New InternetExplorer, HTML As HTMLDocument, post As Object
With IE
.Visible = True
.navigate URL
While .Busy = True Or .readyState < 4: DoEvents: Wend
Set HTML = .document
End With
Do
HTML.parentWindow.scrollBy 0, 99999
Application.Wait Now + TimeValue("00:00:03")
Set post = HTML.getElementsByTagName("article")
Loop ''I wish to break out of this loop when all the scrolling is done
IE.Quit
End Sub