html - 如何从 span 标签中抓取在线数据

标签 html excel vba web-scraping

我正在尝试获取“单程下车附加费”描述中定义的值 R1200。我尝试使用各种方法获取元素,但无法获取信息。我的想法是,我想获取 1200 值并将其粘贴到 excel 中的单元格中。我是 vba 和 html 的新手。

我已经设法让抓取工具通过单击相关输入导航到有问题的特定网页,下面是我尝试获取值的示例代码。

这是值所在的 HTML:

<div class="itinerary-column">
<div class="optional-extras">
<h4>
Price Summary
</h4>
<ul class="clearfix extras">

<li>
Document admin fee<span>R 99.00</span>
</li>
<li>
Vehicle Rental <span>R 1575.00</span>
</li>
<li>
<!--This is part of the temporary solution to show the oneway surcharge-->
One Way Drop Off Surcharge<span>R 1200.00</span>
</li>
</ul>
</div>
<div class="total-price clearfix">
Total

<span>
R
<span class="value">
2874.00
</span>
</span>
</div>
<div class="deposit">
<div class="clearfix">
<div class="deposit-req">
Deposit required
<span>(Not included in total)</span>
</div>
<div class="value">
R <span>4170.20</span>
</div>
</div>
</div>
<div class="excess-message">
Rate incl 200 KMS free per day.Extra @ ZAR2.12 p k
</div>

</div>

这是我试图获取值的代码:

'Cells(r, 3).Value = appIE.document.getElementsByClassName("optional-extras").innerHTML
'Cells(r, 2).Value = appIE.document.getElementsByClassName("optional-extras").innerText
Cells(r, 6).Value = appIE.document.getElementsByClassName("optional-extras").innerHTML
Cells(r, 6).Value = appIE.document.getElementsByClassName("clearfix extras").innerHTML
'Cells(r, 4).Value = appIE.document.getElementsByClassName("clearfix extras").innerText
'Cells(r, 5).Value = appIE.document.getElementsByClassName("clearfix extras").innerHTML
'Cells(r, 6).Value = appIE.document.getElementsByTagName("ul").Item(25).innerText   'yields something

最佳答案

有多少元素具有 clearfix extras 的复合类?作为一般选择器,以下是正确的:.clearfix.extras li:nth-of-type(3) span

使用如下:

Debug.Print appIE.document.querySelector(".clearfix.extras li:nth-of-type(3) span").innerText

但是,如果您的项目不在具有该复合类的第一个元素中,则 css 选择器将需要扩展以解决该问题

OP 说手头的情况下 3 需要是 2

关于html - 如何从 span 标签中抓取在线数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55848749/

相关文章:

javascript - 使用 Javascript 切换文本颜色

html - Bootstrap 的容器是否会在特定的浏览器宽度下停止提供边框?

excel - 从复选框到文本框的数据输入

excel - 使用变量复制并粘贴到目标?

vba - 如何调整工作表上所有图像的大小?

excel - 将字符串更改为大写(如果存在) - VBA

html - 为什么我的文字根本没有中断?

jquery - 用 jquery 更新背景图像?

java - 在Excel文件中排列java输出

vba - Excel VBA - 通过列重复宏