我正在学习使用Excel VBA自动化谷歌搜索与我的代码如下所示.然而,我总是遇到'运行时错误424:我已经声明了searchtxt作为我的对象,但错误仍然发生。我试图删除searchtxt对象声明,但它仍然不起作用。有人可以帮助我纠正我的代码错误,以便我可以在vba中进行谷歌搜索。谢谢
Sub google_search()
Dim searchtxt As Object, myie As Object
Set myie = CreateObject("internetexplorer.application")
With myie
.Visible = True
.Navigate "https:\\www.google.com"
Do While .Busy
DoEvents
Loop
Do While .readystate <> 4
DoEvents
Loop
End With
Set searchtxt = myie.document.getelementbyid("q") 'error occured here
Set searchtxt.Value = "excel vba"
myie.document.forms(0).submit
End Sub
2条答案
按热度按时间hmmo2u0o1#
您不需要在Google页面上填写搜索表单并按提交。您只需使用搜索词进行导航:
wz3gfoph2#
'getElementById'方法用于通过其唯一ID属性选择元素,该属性在整个HTML文档中应该是唯一的。但是,Google搜索框没有ID“q”,而是具有名称属性“q”,该属性不是唯一的,可以由同一页面上的多个元素使用。
要选择具有特定name属性的元素,可以使用带有属性选择器的querySelector方法。在本例中,可以使用属性选择器[name='q']选择name属性为“q”的输入元素。因此,上面的代码在InternetExplorer中执行是正确的