Если в результате поиска только один результат, ссылка на страницу сведений о лошади является содержимым атрибута href
единственного элемента с классами "tr link-row"
. Если в вашем поиске было больше результатов, то для каждого результата поиска был бы один элемент, и вы можете делать с ними то же самое, что хотите, (вы можете оставить первый или l oop через них и c.) .
Просто имейте в виду, что эти элементы не являются частью документа в первый момент, потому что документ будет загружаться с кодом HTML, который содержит сценарии, которые будут загружать другие элементы, поэтому VBA должен ждать Inte rnet Проводник для запуска этих сценариев.
К go до страницы сведений о единственной / первой лошади на странице результатов после вашего кода:
Dim htmlPage As HTMLDocument
Set htmlPage = objIE.Document
'Page is dynamically populated from script. You have to wait when the horse link gets loaded
Do While htmlPage.getElementsByClassName("tr link-row").Length < 1
DoEvents
Loop
'Get link (href attribute) and navigate to it
objIE.navigate htmlPage.getElementsByClassName("tr link-row").Item(0).href
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
Имейте в виду, что в то время как объект InternetExplorer
является частью библиотеки Microsoft Internet Controls
, HTMLDocument
является частью Microsoft HTML Object Library
, поэтому добавьте его в ссылки в VBA.