【问题标题】:Extract item price from HTML从 HTML 中提取商品价格
【发布时间】:2018-11-20 20:52:05
【问题描述】:

我正在努力从以下 HTML 中获取价格

<span class="pricing__now" itemprop="price">7.99</span>

我正在尝试从上面的示例中提取“7.99”。 我试过HTML.getElementsByClassName("pricing__now")(0).innertext 但绘制空白。

任何帮助,欢迎采纳。

非常感谢。

伊恩

【问题讨论】:

    标签: html excel vba web-scraping


    【解决方案1】:

    如果我们可以看到更多的 HTML 和 URL,如果可能的话,提供更好的建议会更容易。以下是一些提示:

    1) 你需要确保你有正确的索引

    要检查您的索引是否正确,请右键单击检查元素,然后按 Ctrl + F 调出 HTML 搜索框并输入 .pricing__now。检查有多少匹配项以及您想要的匹配项在哪个索引处。

    2) 确保页面在您尝试访问时已加载此值。因此,在尝试访问之前,如果使用 IE,请确保您拥有:

    While IE.Busy Or IE.readyState < 4: DoEvents: Wend
    

    在您的navigate2 行之后

    3) 您还可以使用组合的 CSS 选择器来更具体

    ie.document.querySelector(".pricing__now[itemprop=price]").innerText
    

    【讨论】:

    • 类名是否出现多次?
    • @alowflyingpig 一个有效的观点,这就是我要求 OP 检查索引的原因。如果是这样,他们将需要修改索引,并在第 3 点使用 querySelectorAll,例如ie.document.querySelector(".pricing__now[itemprop=price]").item(1).innerText
    • 记得从搜索框结果中的数字减一,因为它是从 1 开始索引的
    • (0) = 第一次出现,(1) = 第二次出现,等等
    • QHarr - 谢谢.querySelector(".pricing__now[itemprop=price]").innerText 是完美的。工作了一个款待。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 2014-04-10
    • 2015-11-05
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    相关资源
    最近更新 更多