尝试做某事(别怀疑我,谷歌做起来有点困难),然后简单地创建一个列出了第一个描述的消息框。但是,关键是我想直接在搜索栏中输入内容然后搜索(而不是简单地填写URL的字符串部分)。我当时取得了不错的进展,但现在无法摆脱错误(运行时错误91)“未设置对象变量或With Block变量。”
基本上,我已经在搜索结果的HTML文档上调用了getElementsByClassname
,并填写了所需的类。我知道这会返回元素的集合(因为搜索结果的类的名称基本相同),因此我索引到它给我的第一个类。然后,我只想通过MsgBoxing该元素的innerHtml打印出该HTML。但是,我最终遇到了以上相同的错误。在调用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
我只想要bing上第一个搜索结果的标题的MsgBox。如果有人可以帮助,那就太好了!显然,我在Webscraping中是新手,我希望使用从该项目中学到的概念来更新一个过时的系统。谢谢!