Я пытаюсь сослаться на ваше описание и понимаю, что на веб-странице есть три кнопки: Поиск , Новый поиск и Назад . Вы хотите нажать на эти кнопки. в настоящее время вы пытаетесь l oop с помощью кнопок и извлекать значения его атрибутов.
Вы сказали, что приведенный ниже код не работает.
For Each HTMLButtons In HTMLDoc
Debug.Print HTMLButton.className, HTMLButton.tagName, HTMLButton.ID, HTMLButton.innerText
Next IHTMLButton
Я пытаюсь проверить ваш код HTML и обнаружил, что упомянутые вами кнопки созданы с использованием Таблица элемент вместо фактического HTML кнопка элемент. По этой причине ваш код не работает.
Поэтому я предлагаю вам попытаться использовать приведенный ниже код, который будет работать для извлечения значений его атрибутов.
Dim tbl As MSHTML.HTMLTable
For Each tbl In IE.document.getElementsByTagName("table")
Debug.Print tbl.className, tbl.tagName, tbl.ID, tbl.innerText
Next
Вывод:
Еще одна вещь, которую я заметил, что все таблицы имеют одинаковое значение атрибута ID, которое составляет btn
Я предлагаю вам проверьте имя функции, упомянутое в onclick , чтобы нажать определенную кнопку, используя код VBA.
Пример кода:
With IE.document
For Each e In .getElementsByTagName("table")
If (e.getAttribute("onclick") = "triggerDetailedSearch();") Then
e.Click
Exit For
End If
Next e
End With
Кроме того, вы можете попробовать изменить код в соответствии с вашими требованиями.