微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 URL VBA 中提取数据使 IE 不支持

如何解决从 URL VBA 中提取数据使 IE 不支持

我一直在使用以下 Excel VBA 宏从网站带回数据。直到几天前网站停止支持 IE 时,它才能正常工作。当然,宏现在只是失败了,因为网页上没有数据可以带回 Excel,有没有办法拥有“获取方法”(MSXML2.XMLHTTP)

这是我的代码

Â

我得到的回应是

错误 处理您的请求时出错。

参考 #97.ec8a2c31.1621136928.281f3ca8

请任何人都可以支持我如何在 IE 不支持获取数据 我不是编码专家

解决方法

好的,尝试使用 vba 与 selenium 结合使用该站点的标题和投票。

Sub FetchInfo()
    Dim driver As Object,oTitle As Object
    Dim oVotes As Object
    
    Set driver = CreateObject("Selenium.ChromeDriver")
    
    driver.get "https://www.justdial.com/Agra/Yogi-General-Store-Opp-Eclave-Satiudum-Sadar-Bazaar/0562P5612-5612-120207212812-H5I2_BZDET"
    Set oTitle = driver.FindElementByCss("span.item > span",Raise:=False,timeout:=10000)
    Set oVotes = driver.FindElementByCss("span.rtngsval > span.votes",timeout:=10000)
    Debug.Print oTitle.Text,oVotes.Text
End Sub
,

当网页以后不再支持 IE 时,您可以在安装了新插件的情况下使用 Google Chrome 尝试网页 scrape,插件安装和如何编写请参见以下链接在 VBA 中。但是,在我看来,执行工作的最简单方法是使用 Uipath 免费社区版,它适用于所有类型的网络浏览器。

VBA 指南: https://www.wiseowl.co.uk/vba-macros/videos/vba-scrape-websites/web-scraping-selenium-chrome/

Selenium 的 VBA 库安装: https://code.google.com/archive/p/selenium-vba/downloads

,

您可能需要将 Feature Browser Emulation 设置为 ,如 Daniel 此处所述:

Everything You Never Wanted to Know About the Access WebBrowser Control

也就是说,即使在 Edge Chromium 中打开您的 URL 也会失败,因此该站点可能会出现一般故障。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。