VBAparsing和检索从HTML到Excel的数据

我正在尝试在VBA中编写一个macros来将数据从网站传输到电子表格。 我的问题是,我的代码不会产生任何结果的href,innertext等,你能帮助build议我的代码是错误的?

这里是一个样本的HTML – 我试图检索批号41151和描述。

<tr class=''> <td class='lot_column'> <div class='lot_number'> <span class='lot_digits'>41151</span> <br /> <a href='property_information.pl?lot=41151' class='sd_button blue'><span>View Data</span></a> </div> </td> <td> <div class='short_desc'>Michael L. Hanisko, A/I/F for Shirley Isackson - Winterfield Richfield Unit and Grout Unit (Producing MI/RI) - Clare and Gladwin Counties, Michigan</div> <div class='headline'>7 Mo. Av. Cash Flow $15/mo</div> <div class='message'></div> </td> <td class='high_bid'> <div class='high_bid'>$810</div> <div class='reserve_status'>No&nbsp;Reserve</div> </td> <td class='lot_close'> <span class='closing_date'>8/29/2017 1:35 PM</span> <br /> <a href='bidder_bid.pl?lot=41151' class='sd_button red'><span>Make Bid</span </a> </td> 

这是我的代码段:

 Set Lot_Data = EnergyNet.getElementsByClassName("lot_digits") For Each elem In Lot_Data Set Link = elem.getElementsByTagName("tr")(0) i = i + 1 'Copy Data to Excel Worksheets("Sheet1").Activate Range("B" & i) = Link.href Range("C" & i) = Link.innerText Range("D" & i) = Link.ID Next 

任何想法我错了? 谢谢你的帮助。

你得到

 <span class='lot_digits'>41151</span> 

那么从这里你要获得一个标签名称为“ tr ”的元素,但是在跨度中lot_digits类没有任何带有tr作为标签名称的元素,所以Linkvariables将是空的。

对于你必须的41151元素

 Set Lot_Data = EnergyNet.getElementsByClassName("lot_digits") 

然后

 Lot_Data(0).innerText will contain 41151 

为了说明,简单地说

 Set descriptionElements = EnergyNet.getElementsByClassName("short_desc") 

 descriptionElements(0).innerText 

将包含说明