从网站的Visual Basic复制HTML链接(getElementsByClassName)?

嗨,我是新来的VB和目前在Excel中使用它,我有问题,我想去一个网站,然后从该网站获得链接,然后打印该链接。

我已经知道如何做“去网站并通过getElementsById获得无损文本”:

Dim ie As InternetExplorer, doc As HTMLDocument, quote As String Sub MsgboxTest() Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.navigate "http://www.patan77.com/" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document quote = doc.getElementById("date").innerText Debug.Print quote End Sub 

这只是从一个div id的文本(date),如果我想要它打印我的链接,从页面底部hover在“其他东西”,然后从CinebenchEstimator的实际链接:

IMG: http : //www.patan77.com/screenshot/print_link_2.JPG

在这种情况下,我希望它打印这个: http : //www.patan77.com/Cinebench_Estimator/Cinebench_Estimator.html

(我只是用我的网站作为例子来显示我想要做什么)

我猜我需要做这样的事情:

 quote = doc.getElementById("mail").getElementsByClassName("menu")(0).getElementsByTagName("ul")(0).getElementsByTagName("li")(0).getElementsByTagName("ul")(0).getElementsByTagName("li")(3).getAttribute("href") 

但是这显然不能正常工作,所以我错过了什么?

提前致谢。

(:

唯一的问题是:

 doc.getElementById("mail") _ .getElementsByClassName("menu")(0) _ .getElementsByTagName("ul")(0) _ .getElementsByTagName("li")(0) _ .getElementsByTagName("ul")(0) _ .getElementsByTagName("li")(3) 

返回一个没有href属性的li元素。

你想要那个li元素的第一个孩子:

 doc.getElementById("mail") _ .getElementsByClassName("menu")(0) _ .getElementsByTagName("ul")(0) _ .getElementsByTagName("li")(0) _ .getElementsByTagName("ul")(0) _ .getElementsByTagName("li")(3) _ .Children(0).getAttribute("href") 

这将返回Cinebench_Estimator/Cinebench_Estimator.htmlhref 。 预先设置url(“ http://www.patan77.com/ ”),您就可以全部设置了。