我可以在vba中使用xpaths自动化网站吗?

时间:2017-09-27 22:12:15

标签: vba xpath ie-automation

我正在尝试自动从网站下载文件。我过去曾使用xpath来控制java中的网站,并希望在VBA中将它们用于此项目。是否可以使用类似getElementByXpath()的东西,如果是这样,我需要在项目中包含哪些引用?

3 个答案:

答案 0 :(得分:1)

看起来有可能。我最初的参考是WiseOwlTutorials: https://www.youtube.com/watch?v=sGw6r5GVA5g

另一个参考(更具体的XML /使用Xpath)来自AnalystCave: http://analystcave.com/vba-xml-working-xml-files/

W3Schools看起来也有一些关于语法的好信息: https://www.w3schools.com/xml/xpath_syntax.asp

您需要进入工具>参考文献>选择Microsoft XML,v6.0(或最新版本),然后设置一个DOMDocument,它将包含一组节点。

    Dim XDoc As MSXML2.DOMDocument60
    Set List = XDoc.SelectNodes("//FirstChild/ChildNodes[reference number]/innerText")

答案 1 :(得分:0)

这绝对是可能的,但根据我的经验,我发现通过使用标记名称或类来查找XPATH更容易。

如果适用于您的用例,似乎有很多关于使用Selenium VBA的在线讨论。

Private IE As Object

Set IE = CreateObject("InternetExplorer.Application")

URL = "https://www.google.co.uk/"
IE.Visible = False/True
IE.Navigate URL
IE.document.getElementsByClassName("*class name*")
IE.document.getElementsByTagName("*tag name*")

答案 2 :(得分:-1)

添加对microsoft HTML object library的引用。 您可能还想添加microsoft XML