出于我不会厌烦的原因,我正在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中不可能的特定元素?
感谢您的帮助!