我正在尝试解析一个在'span‘标签上带有getelementsbyclassname的innertext。但是有几个不同的内部文本与相同的类名相匹配。如何解析内部文本?
https://finance.naver.com/item/sise_day.nhn?code=063760 ->是我试图解析的internet explorer文档。
我想要得到具体的内文'15,550‘,这是昨天的收盘价。
发布于 2019-05-14 10:27:06
尝试参考下面的示例代码可以帮助您找到内部文本= 15,550。
Sub demo()
Dim element As IHTMLElement
Dim elements As IHTMLElementCollection
Dim ie As InternetExplorer
Dim val, val1 As String
Dim html As HTMLDocument
val = "15,550"
Set ie = New InternetExplorer
ie.Visible = True
ie.Navigate "https://finance.naver.com/item/sise_day.nhn?code=063760"
'Wait until IE has loaded the web page
Do While ie.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set html = ie.document
Set elements = html.getElementsByClassName("tah p11")
Dim count As Long
Dim erow As Long
count = 1
For Each element In elements
If element.className = "tah p11" Then
erow = Sheet1.Cells(Rows.count, 1).End(xlUp).Offset(1, 0).Row
val1 = html.getElementsByClassName("tah p11")(count).innerText
If val = val1 Then
Cells(erow, 1) = html.getElementsByClassName("tah p11")(count).innerText
End If
count = count + 1
End If
Next element
End Sub
输出:
这只是一个示例代码,供您参考。此外,您可以尝试修改代码以获得所需的输出。
发布于 2019-05-14 10:41:04
当在表中定位时,通过nth-of-type css选择器利用行和列索引。你想要第四行,第二列。我使用css选择器作为一种更快的方法,因为现代网站已经为此进行了优化。
ie.document.querySelector(".type2 tr:nth-of-type(4) td:nth-of-type(2)").innerText
您可以简单地缩写为
tr:nth-of-type(4) td:nth-of-type(2)
作为页面上具有此坐标的第一个表。
我看不到任何有用的东西,但也许还可以检查一下APIs。
https://stackoverflow.com/questions/56126430
复制相似问题