打开一个网页,然后点击一个特定的标签

我试图打开一个button点击的网页,去一个特定的部分,在下一个button箭头图像点击遍历多个页面。

我必须从这个网站提取信息。 页面的HTML结构是:

<div> <div> <table class="A"> <tbody> <tr> <td class="B"> <div class="C"> <ul id="D" class="E"> <li id="W" class="TU"></li> <li id="X" class="TU "></li> <li id="Y" class="TU"><span class="SPANCLASSNAME">HEADER TAB CAPTION</span></li> <li id="Z" class="TU"></li> </ul> </div> </td> </tr> </tbody> </table> </div> </div> 

我需要的所有数据都可以在任何li元素下。 这里我有第三个元素。

 Private Sub Button_Click() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True IE.Navigate "URL" Do DoEvents Loop Until IE.ReadyState = 4 Set AllSpanElements = IE.Document.getElementsByClassName("SPANCLASSNAME") For Each span In AllSpanElements MsgBox span.innerText If span.innerText = "HEADER TAB CAPTION" Then MsgBox span.innerText span.Click 'DOES NOT WORK. WHAT SHOULD BE THE CODE HERE? Exit For End If Next MsgBox "Operation Completed" End Sub 

我可以打开网页,MsgBox显示来自所有li元素的文本,stream程达到操作完成但点击操作没有发生。

什么代码将点击行为发送到IE?

如果跨度有JavaScript事件附加下面的代码可能会伎俩。

  span.FireEvent("click()") 

我相信会的

 span.onclick(); // or span.fireEvent('onclick'); 

(没有分号)

添加如果它不是JS附加事件,请尝试

 span.click() 

如果不知道URL,我无法testing,但下面是我想到的代码:

 Public Sub sampleCode() Dim IE As InternetExplorer Dim HTMLDoc As HTMLDocument Dim AllSpanElements As IHTMLElementCollection Dim spanCounter As Long Dim targetSpan As HTMLObjectElement Set IE = New InternetExplorer With IE .Visible = True .Navigate "URL" Do While .Busy Or .ReadyState = READYSTATE_LOADING: Wend Set HTMLDoc = .document End With Set AllSpanElements = HTMLDoc.getElementsByTagName("li") For spanCounter = 0 To AllSpanElements.Length - 1 With AllSpanElements(spanCounter) MsgBox (.innerText) If .innerText = "HEADER TAB CAPTION" Then MsgBox (.innerText) .Click Exit For End If End With Next IE.Quit Set IE = Nothing MsgBox "Operation Completed" End Sub 

希望这有助于TheSilkCode