【发布时间】:2019-04-25 11:54:57
【问题描述】:
我正在尝试获取“单程附加费”描述所定义的值 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
【问题讨论】:
-
你试过
getElementByClassName("clearfix extras").getElementsByClassTagName("span").Items(3).innerText- 第一个getElement...在字Element中没有s -
你的意思是从远程网页上抓取标签吗?
-
@furas - 遗憾的是它什么也没返回,
-
@Netlog - 我正在从网站上的标签中抓取值。特别是在“跨度”标签中
-
这只是一个例子,您可以使用更复杂的方法来获取项目。使用
xpath(可能是getElementsByXPath)你可以创建更复杂的方法。
标签: html excel vba web-scraping