在VBA中的Jscript ES3中解析XMLHTTP responseText(HTML)

时间:2018-09-25 18:10:39

标签: excel vba jscript ecmascript-3

出于我不会厌烦的原因,我正在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或标准文档。

我从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中不可能的特定元素?

感谢您的帮助!

0 个答案:

没有答案