我有下面的代码,将通过数据拉从表中的网站(价格,名称,货币,改变等)代码不拉第一个网页后的数据导入Excel
Public Sub GetTeamData()
Dim strWebAddress As String
Dim strH2AnchorContent As String
Dim IEDocument As MSHTML.HTMLDocument
Dim objH2 As MSHTML.HTMLHeaderElement
Dim obTable As MSHTML.HTMLTable
Dim objRow As MSHTML.HTMLTableRow
Dim objCell As MSHTML.HTMLTableCell
Dim lngRow As Long
Dim lngColumn As Long
' initialize some variables that should probably better be passed as paramaters or defined as constants
strWebAddress = "https://toolkit.financialexpress.net/santanderam"
dateNow = Now
bExitLoop = False
lngTimeoutInSeconds = 5
Do While Not bExitLoop
If Now > DateAdd("s", lngTimeoutInSeconds, dateNow) Then Exit Do
Loop
' open page
Set IEDocument = GetIEDocument(strWebAddress)
If IEDocument Is Nothing Then
MsgBox "Timeout reached opening this address:" & vbNewLine & strWebAddress, vbCritical
Exit Sub
End If
Dim ButtonData As Variant
Set ButtonData = IEDocument.getElementsByClassName("paginator fe-paging-navContainer")
Dim button As MSHTML.HTMLLinkElement
For Each button In ButtonData
Debug.Print button.nodeName
button.Click
' retrieve anchor element
Set oTable = IEDocument.getElementById("Price_1_1")
Debug.Print oTable.innerText
' iterate over the table and output its contents
lngRow = 1
For Each objRow In oTable.Rows
lngColumn = 1
For Each objCell In objRow.Cells
Cells(lngRow, lngColumn) = objCell.innerText
lngColumn = lngColumn + 1
Next objCell
lngRow = lngRow + 1
Next
Next button
End Sub
的第一页上的我问题在于我无法从下一页获取数据(1..7)。
任何人都可以请帮忙,为什么上面不会从下一页拉数据? 谢谢!
他们是否已知其他页面的URL?您可以始终为每个URL运行子例程,只要它们不是动态命名的。 – Cyril
不幸的是他们都有相同的URL :( – smccull
我的其他建议是检查页面1到7中每个选项卡的DOM(HTML)表达式。在DOM浏览器中必须有一些分隔符(通过IE ),让他们在不同的页面上,你只需要完全检查这些分隔符的元素。 – Cyril