我有下面的代碼,將通過數據拉從表中的網站(價格,名稱,貨幣,改變等)代碼不拉第一個網頁後的數據導入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