по причинам, по которым я вас не утомлю, я использую JScript-объект scriptcontrol в VBA для извлечения веб-страницы.Я делаю это следующим образом (в 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 или стандартного документа.
Я добавил чистый javascript HTML-парсер Джона Ресига из https://johnresig.com/blog/pure-javascript-html-parser/, и хотя я могу добавить код (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?
Спасибо за вашу помощь!