excel - getElementsByTagName 不返回任何标签(.length 函数返回 0)
问题描述
我正在尝试使用 VBA 和 IE 自动化从包含 XML 的网页中提取值。目前,该程序打开一个 IE 浏览器,将 XML 代码复制到一个窗口中并单击一个按钮,从而对 XML 进行计算。然后,这会在同一窗口中使用生成的 XML 代码加载一个新页面。我试图解析这个并得到一个值。
我能够提取一些标签的值,包括 a 和 span 标签。span 标签返回的值接近我需要的值,但我无法提取确切的值。
代码:
'browser previously defined, it is on the page with the xml
Dim oHTML As HTMLDocument
Dim elements As IHTMLElementCollection
Set oHTML = browser.document
Set elements = oHTML.getElementsByTagName("total_tax_amount")
Debug.Print elements.Length
'above returns 0, there are about 20 of those elements in the document
期望它返回 20-25 个元素,但它返回 0。该图像显示了网站上的 html 标签在 total_tax_amount 的第一个位置的样子。
解决方案
Set elements = oHTML.all
str = elements.Item(0).getElementsByTagName("TOTAL_TAX_AMOUNT")(i).textContent
解决了这个问题,如果将来有人遇到这个问题。
推荐阅读
- xaml - 如何在运行时动态更改 App.xaml 资源
- javascript - 如何从javascript上的json文件中的对象数组重写索引
- python - Kivy 框架:使用 ScreenManager 时标签文本不更新
- c# - 从 GridView 的 HyperLinkField 打开一个新窗口弹出窗口
- web-services - 微服务和“单点故障”概念
- java - IntelliJ 工件 JAR 文件:找不到或加载主类
- php - 子目录调用根 index.php
- javascript - 使用 BadBoy 软件获取系统日期以进行测试
- laravel - 多态关系在 Laravel Lumen 中不起作用
- c++ - 将 C++ 回调函数转换为 Delphi