Очистка данных с использованием HTML с использованием переменной объекта VBA или с переменной блока, не заданной - PullRequest
0 голосов
/ 06 ноября 2019

Попытка что-то придумать (не судите меня, Google было немного сложнее сделать) и просто создать окно сообщения с первым перечисленным описанием. Ключ, однако, заключается в том, что я хочу напрямую ввести что-то в строку поиска, а затем выполнить поиск (а не просто заполнить строковую часть URL-адреса). Я добился приличного прогресса, но теперь не могу избавиться от ошибки (ошибка времени выполнения 91) «Переменная объекта или переменная блока не установлена».

По сути, я вызвал getElementsByClassName в HTML-документе документаискал результаты, и заполнил класс, который я хочу. Я знаю, что это возвращает коллекцию элементов (так как имена классов результатов поиска в основном совпадают), поэтому я индексирую в первый класс, который он мне дает. Затем я просто хочу напечатать этот HTML, используя MsgBoxing innerHtml этого элемента. Тем не менее, я в конечном итоге с той же ошибкой выше. Я также попытался добавить, после того как я вызвал getElementsByClassName, .getElementsByTagName вместо .innerText и в итоге с той же ошибкой. Другими словами, кажется, что каждый раз, когда я использую эту переменную элемента с другим точечным методом, появляется эта ошибка. Не уверен, как исправить.

Sub test()

    Dim ie As Object
    Dim element As Object
    Dim text As String


    Set ie = CreateObject("InternetExplorer.Application")

    my_url = "https://www.bing.com"
    ie.Visible = True
    ie.navigate my_url

    Do While ie.Busy
            DoEvents
    Loop
    Wait 1

    ie.Document.getElementById("sb_form_q").Value = "123"

    ' Pressing enter
    SendKeys "{ENTER}"

    Set element = ie.Document.getElementsByClassName("b_caption")(0)
    MsgBox (element.innerHTML)
End Sub

Sub Wait(seconds As Integer)

    Application.Wait Now + TimeValue("00:00:0" & CStr(seconds))

End Sub

Я просто хочу MsgBox заголовка первого результата поиска на bing. Если бы кто-то мог помочь, это было бы здорово! Очевидно, я немного новичок в веб-шоппинге и надеюсь использовать концепции, которые я изучаю в этом проекте, для обновления устаревшей устаревшей системы. Спасибо!

...