我试图制作一个本地VBscript来从网页获取一些值。我知道我可以使用下一个代码从特定元素中获取值:
IE.document.GetElementById("id-to-find")
我的问题是我在多个元素中拥有相同的ID(" hiddencardetailsenrollid"),所以我需要提取所有这些ID。这是重复的代码:
carId: <span id="hiddencardetailscarid">10972203</span>,
enrollId: <span id="hiddencardetailsenrollid">11147540</span>.
你有什么建议吗?我想条件是读取所有HTML文档,但我不知道如何处理它。
任何帮助将不胜感激。
编辑:这是源代码的完整屏幕截图。如您所见,它们具有完全相同的标签,但carId和enrollId具有不同的值。我无法复制代码,stackoverflow会给我一个错误(我想因为&#34; table&#34; tag):
答案 0 :(得分:0)
如果你 有多个具有相同ID的元素,你不应该这样做,你可以使用answer from this question(追溯@peter)并略微修改它:
Dim HTMLDoc, XML, URL, table
Set HTMLDoc = CreateObject("HTMLFile")
Set XML = CreateObject("MSXML2.XMLHTTP")
URL = "http://www.verizonwireless.com/b2c/store/controller?item=phoneFirst&action=viewPhoneDetail&selectedPhoneId=5723"
With XML
.Open "GET", URL, False
.Send
HTMLDoc.Write .responseText
End With
Set spans = HTMLDoc.getElementsByTagName("span")
for each span in spans
WScript.Echo span.innerHTML
next
'=><SPAN>Set Location</SPAN>
'=>Set Location
'=><SPAN>Submit</SPAN>
'=>Submit
如上所述,您只需将 getElementsByTagName
替换为GetElementByID
,然后遍历生成的对象数组。GetElementByID
可能甚至不是能够返回一个数组。但同样,你不应该有多个具有相同ID的html元素。