网站:http://www.cookcountypropertyinfo.com/default.aspx。 我想在“PIN码”中自动输入输入值的过程。部分然后提交搜索'按钮。下面提到的代码填写了“BY PIN'部分但它未通过验证标准并返回错误消息。但是,手动输入相同的值返回结果。我无法弄清楚我的代码中缺少什么。
Private Sub Command443_Click()
Dim PINArray() As String
PINArray() = Split(PINText, "-")
Set objie = CreateObject("InternetExplorer.Application")
WebSite = "http://www.cookcountypropertyinfo.com/default.aspx"
DoCmd.Hourglass True
With objie
.Visible = False
.navigate WebSite
Do While .Busy Or .ReadyState <> 4
DoEvents
Loop
.Visible = True
Set element = .Document.getElementsByName("ctl00$ContentPlaceHolder1$PINAddressSearch$pinBox1")
element.Item(0).Value = PINArray(0)
element.Item(0).fireevent "onkeyup"
Set element = .Document.getElementsByName("ctl00$ContentPlaceHolder1$PINAddressSearch$pinBox2")
element.Item(0).Value = PINArray(1)
element.Item(0).fireevent "onkeyup"
Set element = .Document.getElementsByName("ctl00$ContentPlaceHolder1$PINAddressSearch$pinBox3")
element.Item(0).Value = PINArray(2)
element.Item(0).fireevent "onkeyup"
Set element = .Document.getElementsByName("ctl00$ContentPlaceHolder1$PINAddressSearch$pinBox4")
element.Item(0).Value = PINArray(3)
element.Item(0).fireevent "onkeyup"
Set element = .Document.getElementsByName("ctl00$ContentPlaceHolder1$PINAddressSearch$pinBox5")
element.Item(0).Value = PINArray(4)
element.Item(0).fireevent "onkeyup"
element.Item(0).fireevent "onkeydown"
Set element = .Document.getElementsByName("ctl00$ContentPlaceHolder1$PINAddressSearch$btnSearch")
element.Item(0).Click
End Sub
答案 0 :(得分:0)
页面上的搜索按钮调用&#39; ValidateSearch&#39;功能; ValidateSearch:
function ValidateSearch() {
var searchToValidate = $('#searchToValidate').val();
$('#__EVENTARGUMENT').val('btn' + searchToValidate);
$('#invalidpinaddressmessage').hide();
if (searchToValidate == "PIN") {
if (typeof (Page_ClientValidate) == 'function') {
Page_ClientValidate('pin');
}
}
else if (searchToValidate == "Address") {
if (typeof (Page_ClientValidate) == 'function') {
Page_ClientValidate('address');
}
}
else if (searchToValidate == "") {
$('#invalidpinaddressmessage').show();
return false;
}
if (Page_IsValid) {
return true;
}
else {
scrollToValidation(60);
return false;
}
}
$(&#39;#searchToValidate&#39;)。val()引用下面提到的HTML隐藏标记
<input type="hidden"
name="ctl00$ContentPlaceHolder1$PINAddressSearch$searchToValidate"
id="searchToValidate" />
在我的vba代码中,我插入了输入标记的值&#39; searchToValidate&#39;到&#39; PIN&#39;绕过并提交搜索按钮。
.Document.getElementById("searchToValidate").Value = "PIN"
Set element =.Document.getElementsByName("ctl00$ContentPlaceHolder1$PINAddressSearch$btnSearch")
element.Item(0).Click