0

由于我不会让您感到厌烦的原因,我在 VBA 中使用 scriptcontrol JScript 对象来检索网页。我按如下方式执行此操作(在 32 位 Excel 中,对于 64 位,我使用 MSHTA 解决方法)。

Sub Test()
Dim S as Object
    Set S = CreateObject("ScriptControl")
        S.Language = "JScript"

        S.Eval("var x = new ActiveXObject('MSXML2.XMLHTTP');")
        S.Eval("x.open('GET', 'https://stackoverflow.com/', false);")
        S.Eval("x.Send")
End Sub

现在这工作正常,返回的响应在 x.ResponseText 中,但是我如何在 HTML 文档中解析它,我可以从中获取特定的文档元素?JScript = ES3 并且没有 DOMParser、jquery 或标准 document.whatever。

我从https://johnresig.com/blog/pure-javascript-html-parser/添加了 John Resig 的纯 javascript HTML 解析器,虽然我可以添加代码 (S.Addcode),但在使用 HTMLToDom 时会出错;

S.AddCode JohnsCode
S.Eval ("var d = new ActiveXObject('HTMLFile');")
S.Eval ("HTMLToDom(x.ResponseText, d);") <-- this errors.

我是否在这里遗漏了一些明显的东西,或者正在将 HTML 响应解析为 HTML 文档,我可以在其中检索 JScript/ES3 中不可能的特定元素?

谢谢你的帮助!

4

0 回答 0