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