我正在尝试简化电子表格,希望对您有所帮助。我在Yahoo财务中搜索APPL股票的代码如下。如何点击点击按钮?我相信我的问题是代码的最后一行中的“搜索按钮”。
Sub browsetosite()
Dim IE As New SHDocVw.InternetExplorer
IE.Visible = True
IE.navigate "www.finance.yahoo.com"
Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop
Debug.Print IE.LocationName, IE.LocationURL
IE.Document.forms("input").elements("yfin-usr-qry").Value = "APPL"
IE.Document.forms("input").elements("**search-button**").Click
End Sub
答案 0 :(得分:1)
好的,经过测试后,问题似乎在于Yahoo的页面加载了很多的东西。
在添加股票代码之前,我添加了十秒钟的等待时间。把握时间,可以减少一些时间。
https://finance.yahoo.com/quote/[SYMBOL]
但是,如上所述,如果您知道要查找的符号,则最好直接导航到!important
答案 1 :(得分:0)
我没有任何等待或集中注意力的要求。使用ID尽可能快地定位目标,并且CSS选择器比当前语法快得多。
Option Explicit
Public Sub BrowseToSite()
Dim IE As SHDocVw.InternetExplorer
Set IE = New SHDocVw.InternetExplorer
With IE
.Visible = True
.Navigate2 "www.finance.yahoo.com"
While .Busy Or .readyState < 4: DoEvents: Wend
With .document
.querySelector("[name='yfin-usr-qry']").Value = "APPL"
.querySelector("#search-button").Click
End With
While .Busy Or .readyState < 4: DoEvents: Wend
End With
End Sub