VBA scrap html-使用动态类获取元素

时间:2019-01-23 20:36:52

标签: vba web-scraping

使用excel vba我需要取消日期(2019-01-16)。 该代码非常有用:

Set wyjatek = ie.Document.getElementsByClassName("redesignTravelHistory tank-thlist__date 2019-01-16")(0)

但是问题是,在我尝试抓取的每个html中,此日期可能有所不同。 你知道如何解决吗?

html的一部分:

<div class="redesignTravelHistory tank-thlist__date 2019-01-16">16/01/2019</div>

2 个答案:

答案 0 :(得分:2)

您可以使用带有^运算符的css attribute =值选择器(值以=后的子字符串开头)

ie.document.querySelector("div[class^='redesignTravelHistory tank-thlist__date']")

如果与此元素匹配的元素不止一个,则使用querySelectorAll并索引到nodeList以获取正确的元素,例如索引1

ie.document.querySelectorAll("div[class^='redesignTravelHistory tank-thlist__date']").item(1)

答案 1 :(得分:1)

您正在使用包含3个类的第一个元素

  • redesignTravelHistory
  • tank-thlist__date
  • 2019-01-16

我猜想日期类“ 2019-01-16”是不相关的,可以删除。

 Set wyjatek = ie.Document.getElementsByClassName("redesignTravelHistory tank-thlist__date")(0)