我是VBA和編程的新手,我發現了一些在線代碼來自動化網頁處理。現在我只是想登錄到電子奧斯卡的網頁:網頁自動化使用VBA
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now())
Loop
Set objCollection = IE.document.getElementsByTagName("input")
Set objName = IE.document.getElementsByTagName("name")
i = 0
While i < objCollection.Length
If objCollection(i).ID = "companyId" Then
' Set text for search
objCollection(i).Value = "companyId"
Else
If objCollection(i).ID = "userId" Then
objCollection(i).Value = "uId"
Else
If objCollection(i).ID = "password" Then
objCollection(i).Value = "pwd"
Else
If objCollection(i).ID = "securityMsgAck1" Then
objCollection(i).Value = True
'Else
'If objName(i).Name = "securityMsgAck" Then
'objName(i).Value = True
'Else
'If objCollection(i).ID = "button" Then
'objCollection(i).Value = True
' "Search" button is found
Set objElement = objCollection(i)
End If
End If
End If
End If
'End If
'End If
i = i + 1
Wend
objElement.Click ' click button to search
當以AS-IS運行時。這段代碼打開了我試圖自動化的網頁,填寫了公司ID,用戶ID,密碼,並且似乎檢查了我確認該頁面的T & C的框。但是,每當我去掉了「securityMsgAck」它不再檢查框,並給我一個錯誤:
Run-time error '91': Object variable or With block variable not set.\
它也做到這一點,如果我註釋掉「securityMsgAck」,並取消了「按鈕」。看起來,我的代碼試圖檢查框,只要這兩個部分沒有執行,但是當它們是聲明要麼失敗之前,它可以嘗試按下,或者他們完全阻止它。我不太確定...任何意見,將不勝感激。提前致謝。
編輯:每當我取消了該代碼的任何部分,我的計劃也將不再填寫公司ID,用戶ID或密碼,有沒有檢查安全消息框沿...
「按鈕」不會在本頁面上存在的ID,你應該使用類「BTN」 – h2so4
@ H2SO4嗯,這是非常合情合理的,但我的計劃是在至少「嘗試」登錄(我認爲)它現在的樣子。我知道這是因爲我收到來自網頁的錯誤,在嘗試登錄之前,我沒有「檢查標記」安全消息來確認它。 – DukeLuke