vba - 在 vba 中使用 getElementsByTagName 返回运行时错误 91 对象变量或未设置块变量
问题描述
想象一下下面的 HTML:
<div class="result-row">
<div class="row">
<div class="col-xs-5 result-score-padding">
<div class="result-score" align="right">Portugal</div>
</div>
<div class="col-xs-2 result-score-padding" align="center">
<div class="result-score">2 - 2</div>
</div>
<div class="col-xs-5 result-score-padding">
<div class="result-score">Spain</div>
</div>
</div>
</div>
在下面的代码中,我在 VBA 中使用 getElementsByClassName 从元素中获取 innerText:
Dim IE As New InternetExplorer
Dim doc As HTMLDocument
Dim i As Integer
Dim game As String
IE.navigate "https://www.example.com"
While IE.Busy Or IE.ReadyState <> 4: DoEvents: Wend
Set doc = IE.document
For i=0 To 2
game = Trim(doc.getElementsByClassName("result-score")(i).innerText)
Next i
但是,此代码不会返回所需的结果,因为它返回运行时错误 91 对象变量或未设置块变量
我想提取“葡萄牙 2 - 2 西班牙”
解决方案
你覆盖你的“游戏”变量。
然后你失去了以前的内容。
推荐阅读
- java - Micronaut 自动转换 HTTP 请求参数
- fortran - 在 gfortran 中更改标准输出
- sql - 查询隐式可重排序列表
- python - Pandas:使用 qcut(data,3) 后,如何找到分位数的范围
- typescript - 如何在 TypeScript 中重新导出单个 lodash 模块
- reactjs - ReactJS 警告组件将不受控制的隐藏字段更改为受控
- mysql - 按“状态”和“用户”字段分组
- python-3.x - 使用 Python 使用嵌套字典填充 MongoDB 数据库
- apache - 如何在 Solr 中配置拼写检查功能?
- c# - C# 类中的条件属性