我正在尝试自动访问网站
https://secure.edomero.defra.gov.uk/Default.aspx?Menu=Menu&Module=SecureHome
但它并没有像我期望的那样工作。我拥有的用户凭证很好(我可以手动登录)但是当我使用下面的代码输入它们时:
Private Sub CommandButton4_Click()
Dim IEexp As InternetExplorer
Set IEexp = New InternetExplorer
IEexp.Visible = True
IEexp.Navigate ("https://signon.defra.gov.uk/Default.aspx")
Do While IEexp.ReadyState <> 4: DoEvents: Loop
Dim inputElement As HTMLInputElement
Set inputElement = IEexp.Document.getElementById("myHolder_Step2_txtUserName")
inputElement.Value = "Username"
Set inputElement = IEexp.Document.getElementById("myHolder_Step2_txtPassword")
inputElement.Value = "Password"
IEexp.Document.getElementById("myHolder_Navigation_btnNext").Click
Set IExp = Nothing
End Sub
似乎“下一步”按钮没有使用代码正确提交变量,因为它会抛出一条错误消息,要求我填写屏幕中间的三个复选框之一 - 我的猜测是字段数据没有正确传递?如果我手动单击该按钮,它可以正常工作。按钮后面的代码是:
<input name="ctl00$myHolder$Navigation$btnNext" class="NextButton" id="myHolder_Navigation_btnNext" style="color: white; cursor: hand;" onmouseover="goLiteNext(this.id);" onmouseout="goDimNext(this.id);" onclick='ClickHandler();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$myHolder$Navigation$btnNext", "", true, "", "", false, false))' type="submit" value=" Next">
关于我如何进行的任何想法?