2013-08-25 3 views
0

Я пытаюсь написать свой первый скрипт входа в систему, но всегда получаю сообщение об ошибке в строке 9, где говорится: «Object Required: getElementByID (...)» 800A01A8. Вот мой код для реальной рабочей площадки, так что вы можете попробовать:VBS-скрипт для входа в сайт - ошибка «Object required»

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 = "m[email protected]" 
    .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 

Пожалуйста, помогите мне, чтобы написать правильный рабочий код Это насущное

Большого спасибо заранее, Сергея

+1

В качестве побочного примечание: 'IE.ReadyState <4 И IE.Busy' является излишним. Любое из двух условий будет достаточно. –

ответ

3

! Элементы вашей формы входа имеют значение name а не id, поэтому вам нужно использовать getElementsByName. Кроме того, INPUT элементы не имеют метод Submit, используйте click вместо:

With IE.Document 
    .getElementsByName("tx_voputilities_pi1[email]")(0).value = "[email protected]" 
    .getElementsByName("tx_voputilities_pi1[password]")(0).value = "mypassword" 
    .getElementsByName("tx_voputilities_pi1[sign_in]")(0).click 
End With 
+0

Спасибо, Хелен! Это работает отлично! –

Смежные вопросы