gpt4 book ai didi

html - VBA获取元素的父节点

转载 作者:可可西里 更新时间:2023-11-01 13:12:14 24 4
gpt4 key购买 nike

我有一个脚本可以解析 HTML 页面以查找具有指定 ID 的元素。我需要的是获取父节点(实际上,我需要向上移动 2 个父节点),以便我可以循环遍历表中的所有链接以找到我想要的链接,或者这样我就可以解析整个 HTML表来找到我想要的链接。

Sub testmacro()

'Constants
Const pdlID = "Id of the element"
Const urlbase = "what ever url"

'containers
Dim web As Object
Dim prompt As String
Dim pdlTbl As Object
Dim pdllink As Object


'Get URL
prompt = InputBox("Paste the URL here: ", "URL")

'create IE instance
Set web = CreateObject("InternetExplorer.Application")
web.Visible = True
web.Navigate prompt

Do While web.Busy Or web.ReadyState <> 4
DoEvents
Loop

'get IE document
Set pdlTbl = web.Document
Set pdlTbl = pdlTbl.getelementbyid(pdlID)

'Get parent node of element

web.Quit
Set web = Nothing

End Sub

我曾尝试查找有关获取父节点的信息,但我找不到,所以任何有关定位父节点的帮助都会很棒。

此外,我在尝试循环浏览文档中的元素时遇到了重大问题。我从该站点抓取了许多代码示例,它们都返回相同的错误“对象不支持此方法”或类似的错误。它突出显示循环中的第一行,看起来像这样。

for each a in pdltbl

next a

无论我尝试使用哪个标签或我查看的元素类型都会出现此错误(pdlID 引用一个 TD 元素以供引用)

基本上,我只想能够搜索表格以找到具有特定 URL 的链接(基于提示中的 url)

最佳答案

Set pdlTbl = pdlTbl.getelementbyid(pdlID)
Set parentParent = pdlTbl.parentElement.parentElement

获取表格中的所有链接:

Set allLinks = tbl.getElementsByTagName("a")
For Each a in allLinks
'...
Next a

关于html - VBA获取元素的父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19053724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com