Excel、VBA与web自动化

Excel、VBA与web自动化,excel,vba,Excel,Vba,我有一个非常大的Excel电子表格,其中包括地址。我想写一个代码,自动打开,一个接一个粘贴在搜索框中的地址,得到这个地址最好的学校的名称,并粘贴到Excel文件中 我使用这段代码粘贴网页中的一个地址,但当它粘贴并按下搜索按钮时,不会显示任何结果 Sub SearchBot() 'dimension (declare or set aside memory for) our variables Dim objIE As InternetExplorer 'special object varia

我有一个非常大的Excel电子表格,其中包括地址。我想写一个代码,自动打开,一个接一个粘贴在搜索框中的地址,得到这个地址最好的学校的名称,并粘贴到Excel文件中

我使用这段代码粘贴网页中的一个地址,但当它粘贴并按下搜索按钮时,不会显示任何结果

Sub SearchBot()

'dimension (declare or set aside memory for) our variables
Dim objIE As InternetExplorer
'special object variable representing the IE browser

Dim aEle As HTMLLinkElement
'special object variable for an <a> (link) element

Dim y As Integer
'integer variable we'll use as a counter

Dim result As String
'string variable that will hold our result link

Set objIE = New InternetExplorer
objIE.Visible = True
objIE.navigate "https://www.greatschools.org/"

Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop

objIE.document.getElementsByClassName("form-control")(0).Focus

objIE.document.getElementsByClassName("form-control")(0).Value = _
  Sheets("Sheet1").Range("A1").Value
'click the 'go' button
objIE.document.getElementsByClassName("input-group-btn")(0).Click

Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
subsearchbot()
'维度(为变量声明或留出内存)
Dim objIE作为InternetExplorer
'表示IE浏览器的特殊对象变量
作为HTMLINKELENT的暗淡aEle
'用于(链接)元素的特殊对象变量
Dim y作为整数
'我们将用作计数器的整数变量
将结果变暗为字符串
'字符串变量,该变量将保存结果链接
Set objIE=新的InternetExplorer
objIE.Visible=True
objIE.navigate“https://www.greatschools.org/"
Do While objIE.Busy=True或objIE.readyState 4:DoEvents:Loop
objIE.document.getElementsByClassName(“表单控件”)(0).Focus
objIE.document.GetElementsByCassName(“表单控件”)(0)。值=_
板材(“板材1”).范围(“A1”).值
'单击“开始”按钮
objIE.document.getElementsByClassName(“输入组btn”)(0)。单击
Do While objIE.Busy=True或objIE.readyState 4:DoEvents:Loop
我甚至添加了上面的代码,让它有更多的时间来查找结果,但这对我一点帮助都没有

首先,它会将地址粘贴到搜索框中,过了一段时间,地址就会从搜索框中消失,那里没有我的结果

有人能帮我解决这个问题吗?
谢谢。

这两行之间的
Do While
循环对我有用:

objIE.Document.getElementsByClassName("form-control")(1).Value = Sheets("Sheet1").Range("A1").Value
'click the 'go' button
objIE.Document.getElementsByClassName("btn search-btn")(0).Click

请注意表单控件条目上使用了(1)索引。

不确定这里到底是什么问题,但如果您只是从A1对值进行URL编码,则可以将其作为参数直接传递到URL:
“https:/www.greatschools.org/search/search.page?”&URLEncode([A1])&“&distance=5”
,然后直接导航到该位置。如果需要UrlEncode功能,请检查谷歌或使用此处的搜索功能。