我真的很难尝试编写一段VBA代码并且真的可以使用一些帮助!我想导航到特定网站(http://www.boxofficemojo.com/),在搜索栏中键入一个值,然后点击"搜索"。我无法让我的代码正确点击搜索按钮。
这是我到目前为止所做的:
Dim objIE As New InternetExplorer
Dim Doc As HTMLDocument
Dim oSearch As HTMLDivElement
Dim oSearchButton As Object
Dim SearchElement As MSHTML.IHTMLElementCollection
Dim oResult As Object, Element As Object, myLink As Object
With objIE
.Visible = True
.Navigate "http://www.boxofficemojo.com/"
Do While objIE.Busy Or objIE.ReadyState <> 4
DoEvents
Loop
Set Doc = objIE.Document
End With
Set oSearch = objIE.Document.forms("searchbox").elements("q")
oSearch.Value = Sheets("2016").Range("c3").Value
Set oSearchButton = objIE.Document.forms("searchbox").getElementsByTagName("input")
objIE.Navigate oSearchButton
现在,我的代码只需导航到谷歌搜索:[object HTMLInputElement]
搜索按钮的HTML如下:
<form name="searchbox" action="/search/q.php" method="POST">
<input name="q" style="width: 90px; font-weight: bold;" type="text"><br>
<input type="submit" value="Search..."></form>
**<input type="submit" value="Search...">**
有谁知道我做错了什么?非常感谢你!
答案 0 :(得分:1)
两件事。
正如评论中所提到的,getElementsByTagName
返回多个对象。在您的情况下,您想要引用第二个,如下所示:
objIE.Document.forms("searchbox").getElementsByTagName("input")(1)
其次,Navigate
只是将IE带到网址。你想点击按钮这样做:
objIE.Document.forms("searchbox").getElementsByTagName("input")(1).Click