伙计...,我正在使用两个输入分别为“ __EVENTTARGET”和“ __EVENTARGUMENT”的网站,是否有可能使用VBA找出要传递给它的值?因为它也有一个名为“ aspnetForm”的表单。如果得到这些值,我确实知道如何使用vba设置表单参数,然后提交。
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value=""
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
答案 0 :(得分:1)
因此您可以使用DOM对象,那么它应该是value属性:
set inputElement = ie.document.getElementsByName("name").item(0)
inputElement.value
应该是目标。
Sub a()
Dim IE As InternetExplorer
Set IE = New InternetExplorer
With IE
.Navigate2 "https://www.google.de"
Do While .Busy = True Or .ReadyState <> 4
Loop
MsgBox .Document.getElementsByTagName("input").Item(0).Value
End With
End Sub