Проблема при попытке установить переменную с getElementsByClassName в документе HTML - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь почистить веб-страницу для списка предметов.Когда я устанавливаю сообщение oHtml.body.innerHTML после того, как текст ответа задан, я вижу весь HTML, так что эта часть работает.Однако при запросе документа для получения соответствующих элементов я получаю сообщение об ошибке.

В начале строки появляется следующая ошибка: Set dados ...

Ошибка времени выполнения '91';
Переменная объекта или переменная блока не установлена ​​

Вот мой код:

Private Sub Scrape_schedule()    
    Dim oHtml As HTMLDocument
    Dim oElement As Object

    Set oHtml = New HTMLDocument

    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "https://example.com", False
        .Send
        oHtml.body.innerHTML = .responseText  
    End With

    MsgBox oHtml.body.innerHTML

    Set dados = oHtml.getElementsByClassName("resolutionWidget-state-list")(0).getElementsByTagName("li")
End Sub

1 Ответ

0 голосов
/ 19 марта 2019

Единственного числа нет .getElementsByTagName("li").Функция .getElementsByTagName возвращает коллекцию так же, как getElementsByClassName.Вам нужно указать порядковый номер или пройтись по коллекции, чтобы собрать их все.

Set dados = oHtml.getElementsByClassName("resolutionWidget-state-list")(0).getElementsByTagName("li")(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...