Visual basic是否从网站复制html链接(getElementsByClassName)?
嗨,我是VB新手,目前正在Excel中使用它,我遇到了一些问题,我想去一个网站,然后从该网站获取一个链接,然后打印该链接 我已经知道如何“通过getElementsById访问网站并获取innertext”: 这只是从div id中获取文本(日期),如果我希望它打印我从页面底部悬停在“其他内容”上获得的链接,然后是来自CinebenchEstimator的实际链接: IMG: 在这种情况下,我希望它打印以下内容: (我只是以我的网站为例来说明我想做什么) 我猜我需要这样做:Visual basic是否从网站复制html链接(getElementsByClassName)?,html,vb.net,excel,Html,Vb.net,Excel,嗨,我是VB新手,目前正在Excel中使用它,我遇到了一些问题,我想去一个网站,然后从该网站获取一个链接,然后打印该链接 我已经知道如何“通过getElementsById访问网站并获取innertext”: 这只是从div id中获取文本(日期),如果我希望它打印我从页面底部悬停在“其他内容”上获得的链接,然后是来自CinebenchEstimator的实际链接: IMG: 在这种情况下,我希望它打印以下内容: (我只是以我的网站为例来说明我想做什么) 我猜我需要这样做: quote = do
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)
返回一个li
元素,该元素没有要获取的href
属性
您需要该li
元素的第一个子元素:
doc.getElementById("mail") _
.getElementsByClassName("menu")(0) _
.getElementsByTagName("ul")(0) _
.getElementsByTagName("li")(0) _
.getElementsByTagName("ul")(0) _
.getElementsByTagName("li")(3) _
.Children(0).getAttribute("href")
这将返回
Cinebench\u Estimator/Cinebench\u Estimator.html的href
。在URL基(“”)前面加上前缀,您就可以全部设置好了。唯一的问题是:
doc.getElementById("mail") _
.getElementsByClassName("menu")(0) _
.getElementsByTagName("ul")(0) _
.getElementsByTagName("li")(0) _
.getElementsByTagName("ul")(0) _
.getElementsByTagName("li")(3)
返回一个li
元素,该元素没有要获取的href
属性
您需要该li
元素的第一个子元素:
doc.getElementById("mail") _
.getElementsByClassName("menu")(0) _
.getElementsByTagName("ul")(0) _
.getElementsByTagName("li")(0) _
.getElementsByTagName("ul")(0) _
.getElementsByTagName("li")(3) _
.Children(0).getAttribute("href")
这将返回Cinebench\u Estimator/Cinebench\u Estimator.html的href
。在URL基(“”)前面加上前缀,就可以设置好了。谢谢,效果很好,如果第一个元素不是div id而是class,我该怎么办?你可以用访问菜单的同样方法来做。doc.getElementsByClassName(“无论哪个类名”)(x)
其中x
是所需div
的索引。或者,您可以通过访问.Children(x).Children(x).Children(ad nauseum)来完成所有操作
,但是class
和id
属性使代码不那么脆弱,更易于阅读。谢谢,效果很好,如果第一个元素不是div id而是class,我该怎么办?你可以用访问.menu
的相同方法来做。…doc.getElementsByClassName(“无论哪个类名”)(x)
其中x
是所需的div
的索引。或者,您可以通过访问.Children(x).Children(x).Children(ad nauseum)
来完成这一切,但是class
和id
属性使代码不那么脆弱,更易于阅读。