Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual basic是否从网站复制html链接(getElementsByClassName)?_Html_Vb.net_Excel - Fatal编程技术网

Visual basic是否从网站复制html链接(getElementsByClassName)?

Visual basic是否从网站复制html链接(getElementsByClassName)?,html,vb.net,excel,Html,Vb.net,Excel,嗨,我是VB新手,目前正在Excel中使用它,我遇到了一些问题,我想去一个网站,然后从该网站获取一个链接,然后打印该链接 我已经知道如何“通过getElementsById访问网站并获取innertext”: 这只是从div id中获取文本(日期),如果我希望它打印我从页面底部悬停在“其他内容”上获得的链接,然后是来自CinebenchEstimator的实际链接: IMG: 在这种情况下,我希望它打印以下内容: (我只是以我的网站为例来说明我想做什么) 我猜我需要这样做: quote = do

嗨,我是VB新手,目前正在Excel中使用它,我遇到了一些问题,我想去一个网站,然后从该网站获取一个链接,然后打印该链接

我已经知道如何“通过getElementsById访问网站并获取innertext”:

这只是从div id中获取文本(日期),如果我希望它打印我从页面底部悬停在“其他内容”上获得的链接,然后是来自CinebenchEstimator的实际链接:

IMG:

在这种情况下,我希望它打印以下内容:

(我只是以我的网站为例来说明我想做什么)

我猜我需要这样做:

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
属性使代码不那么脆弱,更易于阅读。