httpRequest和JavaScript
我有一个关于excel VBA HTTP请求和JavaScript的问题。我想通过“POST”在intranet站点上进行搜索,但submit按钮似乎运行JavaScript来重新加载站点,但我不知道如何进行httpRequest和JavaScript,javascript,vba,excel,httprequest,Javascript,Vba,Excel,Httprequest,我有一个关于excel VBA HTTP请求和JavaScript的问题。我想通过“POST”在intranet站点上进行搜索,但submit按钮似乎运行JavaScript来重新加载站点,但我不知道如何进行 Public Function XmlHttpTutorial() Dim xmlhttp As New MSXML2.XMLHTTP60 Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP") Dim HTMLDoc As New HTML
Public Function XmlHttpTutorial()
Dim xmlhttp As New MSXML2.XMLHTTP60
Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
Dim HTMLDoc As New HTMLDocument
Dim myurl As String
myurl = "http://www.website.de"
xmlhttp.Open "POST", myurl, False
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)1"
xmlhttp.setRequestHeader "Cookie", "serverTimeOffset=-3600149; browserTimeZone=-60;"
xmlhttp.Send ("var1=variable&var2=variable&var3=variable")
Debug.Print xmlhttp.responseText
End Function
这是按钮本身
<input type="submit" name="button" tabindex="8" value="Find" onclick="closeWindow();uppercaseForm( this.form );" class="btn-small">
“closeWindow”只是关闭窗口,“uppercaseForm”只是将所有输入大写
这是标题
<form name="arrivalQueryForm" method="post" action="/opslink/arrivalQuery.do" onsubmit="setWindowId(this, 'windowId');">
setWindowID仅获取window.name和replace括号
我不知道如何找回正确的站点,因为到目前为止似乎没有任何效果。据我所知,VBA与HTML没有任何关系。XHR被烘焙到HTML表单对象中(注意
method=post
属性)。onsubmit与HTML表单一起烘焙
我建议您不要使用HTML表单元素并在JavaScript中手工编写XHR脚本,这样您就可以通过查看该机制的工作原理。单击按钮元素上的事件
如果您想在不打开web浏览器的情况下从Excel本身获取/XHR,则可以使用VBA。这就是我试图通过XHR从Excel获取数据的原因,但我得到的上一页似乎与我试图访问的网站的Javascript部分有关。