使用 VBScript 从 HTML Class 元素中检索数据

Retrieving data from an HTML Class Element using VBScript

我创建了一个基本的 VBScript 来更改我的 Honeywell WIFI 恒温器的温度,它使用 Web 界面。 我可以访问站点、登录、更改温度并提交更改。 现在我想检索恒温器设置的温度。我知道在哪里可以找到IE 源文件中的信息,但我不知道如何调用它。 这是包含我需要的内容的 HTML 元素。

<div id="NonAutoHeatSetpt" style="">
  <div class="SetPtContainer">
    <div class="CurrSetptHdr">Set To</div>
    <div class="CurrentSetpt"><div class="DisplayValue">22.0</div><span class="NoBold">&deg;</span></div>
  </div>

<div class="SetPtButtons" style="">
    <div id="NonAutoModeHeatUpBtn" class="UpBtn unselectable"> </div>
    <div id="NonAutoModeHeatDownBtn" class="DownBtn unselectable"> </div>
  </div>
</div>

我需要检索 22.0,这样我就可以创建一个循环来不断降低温度,直到达到目标温度(这将在我的脚本中确定)。

这是我目前的代码。

Sub WaitForLoad 'Sub to wait for browser to load
 Do While IE.Busy
   WScript.Sleep 10
 Loop   
End Sub

On Error Resume Next

 Dim IE
 Dim SetTo1
 Dim SetTo2

 Set IE = CreateObject("InternetExplorer.Application")
 IE.Visible = True 
 IE.navigate "https://mytotalconnectcomfort.com/portal/"
 WaitForLoad

 IE.Document.All.Item("UserName").Value = "myemail@yahoo.ca"
 IE.Document.All.Item("Password").Value = "MyPassword"
 IE.Document.All.Item("submit").Click
 WaitForLoad 

 IE.Document.All.Item("NonAutoModeHeatDownBtn").Click 'Clicks on the decrease temp btn
 IE.Document.All.Item("SubmitBtn").Click 'Submit changes to thermostat
 WaitForLoad

 Set SetTo1 = IE.Document.getElementByID("NonAutoHeatSetpt")
 Set SetTo2 = SetTo1.getElementsByClassName("DisplayValue")

SetTo1 作为 HTML 元素返回,SetTo2 作为 HTML 集合返回。

根据上面的 HTML 代码,我认为我要查找的 22.0 存储在 "DisplayValue" HTML 集合中。我该如何使用它?

请帮忙。

要获取集合的大小,请使用 'length'

Msgbox SetTo2.length 'will print how many items are present in the collection

获取值(索引从0开始)

Msgbox SetTo2.Item(0).InnerText 'will print 22.0