使用vbscript保存带有下载提示的文件

使用vbscript保存带有下载提示的文件,vbscript,download,Vbscript,Download,我正在使用VBscript使用IE打开网页-登录-并将一些数据保存到文件中 为什么要使用IE? -我可以使用VBScript与网页进行交互 -该网页使用ajax进行验证和登录,因此简单地使用MSXML2.XMLHTTP是行不通的 IE登录站点后,我将其指向我想另存为文件的页面,问题是该页面返回JSON数据(filename.JSON)-因此IE提示打开/保存/另存为,而不是仅仅打开页面,因此我无法保存页面的数据 代码如下。非常感谢您的帮助 Set IE = WScript.CreateObjec

我正在使用VBscript使用IE打开网页-登录-并将一些数据保存到文件中

为什么要使用IE? -我可以使用VBScript与网页进行交互 -该网页使用ajax进行验证和登录,因此简单地使用MSXML2.XMLHTTP是行不通的

IE登录站点后,我将其指向我想另存为文件的页面,问题是该页面返回JSON数据(filename.JSON)-因此IE提示打开/保存/另存为,而不是仅仅打开页面,因此我无法保存页面的数据

代码如下。非常感谢您的帮助

Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_")
IE.Visible = True
IE.Navigate "https://www.somesite.com"
Wait IE
With IE.Document
    .getElementByID("username").value = "myusername"
    .getElementByID("password").value = "mysecret"
    .getElementsByName("Login")(0).Click
End With
Wait IE
'# all fine here, logged in and redirected to members page

IE.Navigate  "https://www.somesite.com/api/data"
' # this link returns json data
'# this is where everything stops because Im getting a download/save as prompt in IE
编辑:好的,通过编辑注册表将.json文件视为文本文件,我可以让IE显示内容,而不是下载内容,现在的问题是页面是json文件,而不是HTML文件,所以我无法像普通HTML页面一样调用IE.Document.Body.InnerHTML来获取其内容


如何获取页面内容并将其分配给变量以便处理它?

哦,我只是在代码中添加了以下内容:

Set objShell=CreateObject(“WScript.Shell”)
objShell.RegWrite“HKEY_CLASSES_ROOT\.json\Content Type”、“text/plain”、“REG_SZ

这样,文件在IE中被视为文本文件,它将在页面中打开。然后,我可以使用普通的objIE.Document.Body.InnerText来获取json内容。然后,我将该变量传递给我的函数,该函数将对所有内容进行解码

希望这能帮助一些人,因为我在谷歌上找到的所有结果对我都没有帮助。我在这条旧帖子上发帖的唯一原因

干杯,
Ross

你可以试试。谢谢!有趣的是,我以前读过那页,但它没有帮助,然后我又读了一遍,找到了解决方案。然而,现在我遇到了另一个问题……如果你找到了解决方案,请将其作为答案发布,然后接受。否则,你会将你的问题添加到僵尸问题库中,永远不会得到正式的认可泰德回答。