我正在尝试使用'span'标签上的getelementsbyclassname解析内部文本。但是,有几种不同的内部文本与相同的类名匹配。我该如何解析内部文本?
https://finance.naver.com/item/sise_day.nhn?code=063760->是我要从中解析的Internet Explorer文档。
我想获取特定的内部文本“ 15,550”,它是昨天的收盘价。
答案 0 :(得分:0)
尝试参考下面的示例代码可能会帮助您找到内部文本= 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
输出:
这只是示例代码,供您参考。此外,您可以尝试修改代码以获得所需的输出。
答案 1 :(得分:0)
在表中定位时,通过nth-of-type CSS选择器利用行和列索引。您需要第四行第二列。鉴于现代网站对此进行了优化,因此我将CSS选择器用作一种更快的方法。
const options = {
types: ['geocode'],
offset: 5,
language: 'en',
fields: ['address_components', 'formatted_address', 'geometry'],
sessionToken: generateUniqueId()
}
autocompleteObject = new google.maps.places.Autocomplete(inputDom, {
sessionToken: generateUniqueId()
})
您可以简单地缩短为
ie.document.querySelector(".type2 tr:nth-of-type(4) td:nth-of-type(2)").innerText
作为该坐标在页面上的第一个表格。
我看不到任何有用的信息,但也许还要检查APIs。