我是使用VBA的新手。我正试图正确地使用它。我有这个代码,它似乎完美地工作了1 st 时间,但后来我无法让它再次工作。我正试图进入篮球比赛的比赛摘要页面。如果我能得到一些帮助,将非常感激
Sub Test()
Dim URL As String
Dim IE As InternetExplorer
Dim HTMLdoc As HTMLDocument
Dim TDelements As IHTMLElementCollection
Dim TDelement As HTMLTableCell
Dim i As Integer
URL = "http://www.flashscore.com/basketball/"
Set IE = New InternetExplorer
With IE
.Navigate URL
.Visible = True
While .Busy Or .ReadyState <> READYSTATE_COMPLETE: DoEvents: Wend
Set HTMLdoc = .Document
End With
Set TDelements = HTMLdoc.getElementsByTagName("td")
For Each TDelement In TDelements
If TDelement.Title = "Click for match detail!" Then
TDelement.Click
End If
Next
End Sub
答案 0 :(得分:0)
尝试使用此
Dim IE as Object
Set IE = CreateObject("InternetExplorer.Application")
- 更正了
答案 1 :(得分:0)
您的代码实际上只需要一个小调整就可以了 - 请务必添加:
IE.Quit
Set IE = Nothing
End Sub
否则多个IE实例将隐藏在后台 - 其他人建议使用CreateObject(“InternetExplorer.Application”)但我更喜欢使用您使用的方法,因此您有一个真正的InternetExplorer对象,您可以看到它的方法&amp;必要时的属性..
我运行它并没有得到错误,但也没有得到任何TD来满足If子句 - 这可能只是由于网站及其数据的时间,element.title不是属性我经常使用,所以也许这是你的问题的根源,你应该重新审视你正在检查什么属性来满足你的if条款。
希望这有帮助, ThesilkCode