【问题标题】:HTML DOM traversal using Treewalker in VBA在 VBA 中使用 Treewalker 遍历 HTML DOM
【发布时间】:2011-04-15 12:55:44
【问题描述】:

如果我在 VBA 中创建一个 IE 应用程序对象,我可以下载网页,也可以使用 document 属性来调用像 getElementById 这样的函数。但是,我非常想要 DOM 遍历功能。

文档定义了一个 treeWalker 对象,它看起来很有前途,但我无法使 createTreeWalker 工作。我在对createTreeWalker 的函数调用中收到object required 错误。有没有人使用过这种方法,或者有人可以指出一个通过 VBA 使用treeWalker 的例子吗?

【问题讨论】:

  • 对 TreeWalker 无能为力,但我会告诉你,在我发现我需要引用 Document.frame.Document.control 而不是 @ 之前,我尝试遍历 HTML DOM 有一段时间了987654330@。这是不久前的事了,而且是雇主专有的......
  • 如果相关网页是格式良好的 XHTML,那么您可以使用 XMLHTTP60 对象下载它们 - 请参阅 msdn.microsoft.com/en-us/library/ms757026%28v=VS.85%29.aspx

标签: html internet-explorer excel vba


【解决方案1】:

TreeWalker 似乎至少要到 IE9 才实施(不幸的是,我的雇主没有提供)。但是,我仍然使用以下属性管理 DOM 遍历:

.childNodes(x) 'x begins at 0
.parentNode
.nextSibling
.innerHTML

这些属性适用于getElementById() 可能抛出的几乎所有节点,并且这些属性也在早期的 IE 版本中实现。

【讨论】:

    猜你喜欢
    • 2014-09-20
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2011-06-20
    • 2010-09-21
    • 2021-08-26
    相关资源
    最近更新 更多