Попытка что-то придумать (не судите меня, 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. Если бы кто-то мог помочь, это было бы здорово! Очевидно, я немного новичок в веб-шоппинге и надеюсь использовать концепции, которые я изучаю в этом проекте, для обновления устаревшей устаревшей системы. Спасибо!