首页 > 解决方案 > A“id”中的数据未打印

问题描述

我正在尝试这个

Sub JJ()

Dim IE As New SHDocVw.InternetExplorer
Dim hdoc As MSHTML.HTMLDocument
Dim ha As String

IE.Visible = True
IE.navigate "https://www.nseindia.com/get-quotes/equity?symbol=DIVISLAB"
Do While IE.readyState <> READYSTATE_COMPLETE
Loop

Set hdoc = IE.document
ha = hdoc.getElementById("preOpenFp").innerText
Debug.Print ha
End Sub

请为此提出任何解决方案。重点在图像中。我需要的点和数据已标记。

标签: vbadomshdocvw.internetexplorer

解决方案


如果您想从 Pre-Open Markt 读取数据,您必须按如下方式更改 url https://www.nseindia.com/get-quotes/equity?symbol=DIVISLAB#info-preopenmkt。试试这个代码。

Sub JJ()
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
'Dim IE As New SHDocVw.InternetExplorer

Dim hdoc As MSHTML.HTMLDocument
Dim ha As String
IE.Visible = True
IE.navigate "https://www.nseindia.com/get-quotes/equity?symbol=DIVISLAB#info-preopenmkt"

Do While IE.Busy: DoEvents: Loop
Do While IE.Busy And Not IE.readyState = READYSTATE_COMPLETE: DoEvents: Loop

'Application.Wait (Now + TimeValue("0:00:15"))
Set hdoc = IE.document

ha = hdoc.getElementById("preOpenIep").innerText

Debug.Print (ha)

End Sub

推荐阅读