我创建了一个基本的VBScript来改变霍尼韦尔WIFI恒温器的温度,该恒温器使用网络界面。 我可以访问该站点,登录,更改临时值并提交更改。 现在我想检索恒温器设置的温度。我知道在哪里可以找到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">°</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 Element和SetTo2作为HTML集合返回。
根据上面的HTML代码,我相信我要找的22.0存储在“DisplayValue”HTML集合中。我该如何使用它?
请帮忙。
答案 0 :(得分:0)
要获得集合的大小,请使用&#39; length&#39;
Msgbox SetTo2.length 'will print how many items are present in the collection
获取值(索引从0开始)
Msgbox SetTo2.Item(0).InnerText 'will print 22.0