0

我正在尝试编写我的第一个网站登录脚本,但总是在第 9 行第 9 位出现错误:

“需要对象:'getElementByID(...)' 800A01A8。

这是我真实工作站点的代码:

Call Main

Function Main
Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_")
IE.Visible = True
IE.Navigate "https://www.valuedopinions.com/eng/signin"
Wait IE
With IE.Document
    .getElementByID("tx_voputilities_pi1[email]").value = "my@email.com"
    .getElementByID("tx_voputilities_pi1[password]").value = "mypassword"
    .getElementByID("tx_voputilities_pi1[sign_in]")(0).Submit
End With
End Function

Sub Wait(IE)
Do
WScript.Sleep 500
Loop While IE.ReadyState < 4 And IE.Busy
End Sub

如何编写工作代码?

4

1 回答 1

3

您的登录表单元素有name而不是id,因此您需要使用getElementsByName. 此外,INPUT元素没有该Submit方法,请click改用:

With IE.Document
    .getElementsByName("tx_voputilities_pi1[email]")(0).value = "my@email.com"
    .getElementsByName("tx_voputilities_pi1[password]")(0).value = "mypassword"
    .getElementsByName("tx_voputilities_pi1[sign_in]")(0).click
End With
于 2013-08-26T06:59:55.423 回答