Я пытаюсь выбрать идентификатор главного меню этой страницы http://greyhoundstats.co.uk/index.php с пометкой ("menu_wholesome")
, чтобы позже получить их гиперссылки. В документе HTML есть два тега с этим идентификатором, <div>
и его дочерний элемент <ul>
, но когда я ищу их с помощью приведенного ниже кода, я получаю сообщение об ошибке «объектная переменная не установлена».
Option Explicit
Public Const MenuPage As String = "http://greyhoundstats.co.uk/index.php"
Sub BrowseMenus()
Dim XMLHTTPReq As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim MainMenuList As MSHTML.IHTMLElement
Dim aElement As MSHTML.IHTMLElementCollection
Dim ulElement As MSHTML.IHTMLUListElement
Dim liElement As MSHTML.IHTMLLIElement
XMLHTTPReq.Open "GET", MenuPage, False
XMLHTTPReq.send
HTMLDoc.body.innerText = XMLHTTPReq.responseText
Set MainMenuList = HTMLDoc.getElementById("menu_wholesome")(0) '<-- error happens here
End Sub
Кто-нибудь знает, почему getElementsById не может найти указанный идентификатор, хотя он является частью набора HTML-документов? Я знаю, что этот метод должен возвращать уникальный идентификатор, но когда у нас есть один и тот же идентификатор, на который ссылаются другие теги, я также знаю, что верну первый найденный идентификатор, который должен быть <div id="menu_wholesome">
частью запрашиваемой HTML-страницы.