我试图使用VBA来覆盖网页。我想要做的是用我自己的输入填充文本框,然后按搜索按钮继续搜索结果。
以下是网页的链接:http://www.sec.gov/edgar/searchedgar/companysearch.html
在页面的右侧,在"快速搜索"下,有一个框可以放入股票代码或CIK代码,如果我输入" AAPL&# 34;然后点击"搜索"按钮右边的文本框,我将能够看到有关Apple公司的一些信息。
以下是我编写的代码:
Option Explicit
Const url = "http://www.sec.gov/edgar/searchedgar/companysearch.html"
Sub Test2()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate url
Do While ie.ReadyState <> 4
DoEvents
Loop
ie.Visible = True
With ie.Document
.GetElementById("cik").Value = "AAPL"
.GetElementById("search_button_2").Click
End With
End Sub
使用它我可以放置&#34; AAPL&#34;进入文本框。但是当我运行代码时,IE会将我引导到一个错误页面,告诉我它无法识别我输入的自动收报机。我相当确定搜索按钮的ID是&#34; search_button_2&#34 ;。但是我对HTML很新,所以我最后一步陷入困境。
非常感谢你们帮助我。我很感激任何解决方案或建议。
答案 0 :(得分:0)
对于第一个HTML按钮,在&#34;公司名称&#34;旁边;字段,HTML是:
&lt; input id =&#34; search_button_1&#34;命名=&#34;查找与#34;类型=&#34;提交&#34;值=&#34;搜索&#34;类=&#34;主&#34;&GT;
因此,要通过GetElementById触发此按钮(&#34; search_button_1&#34;)。点击即可。
但是,对于第二个HTML按钮,快速搜索字段旁边的HTML是:
&lt;输入名称=&#34;查找&#34;类型=&#34;提交&#34;值=&#34;搜索&#34;类=&#34;主&#34;&GT;
在此按钮上没有&#34; ID&#34;因此无法以这种方式解决问题。