2016-06-07 182 views
1

Q1)如何在此頁面輸入密碼和用戶名「https://.com/1/19/login.esp」?如何在網頁上輸入用戶名和密碼?

我寫的代碼訪問網頁:

Sub login() 
    Dim IE As Object 

    Const navOpenInNewTab = &H800 
    Set IE = CreateObject("InternetExplorer.Application") 
    IE.Visible = True 
    IE.Navigate "https://esp" 
End Sub 

Q2)我應該用它來訪問谷歌瀏覽器是什麼CREATEOBJECT?

日Thnx提前

回答

1
Sub login() 
    Dim IE As Object 
    Dim HTMLDoc As Object 
    Dim objCollection As Object 

    Const navOpenInNewTab = &H800 
    Set IE = CreateObject("InternetExplorer.Application") 
    IE.Visible = True 
    IE.Navigate "https://ogin.esp" 

    Do While IE.Busy Or IE.ReadyState <> 4: Loop 

    Set HTMLDoc = IE.document 

    With HTMLDoc 
    HTMLDoc.getElementById("USERNAME").Value = "yyyy" 
    HTMLDoc.getElementById("PASSWORD").Value = "xxxxx" 
    End With 


    Set objCollection = IE.document.getElementById("loginbutton") 
    objCollection.Click 

End Sub 

此代碼的工作....

0

要在網頁上查找項目通過VBA來選擇,你需要按F12步入開發工具在網頁上。

到那裏後,您可以通過「進入」頁面上的代碼並選擇希望VAB選擇的項目來找到要調用的元素。

這裏是如何做到這一點:

Click this to step into page code

然後選擇用戶名框:

enter image description here

選擇此選項後,在開發商框中的代碼將被高亮顯示,告訴你什麼代碼是鏈接到你按下的項目。

下面是用戶名框現在突出顯示的代碼:

enter image description here

我們有三個選項,選擇頁面上的項目:

  • IE.document.getElementById(找到ID ='USERNAME'
  • IE.document.getElementsByName(在代碼中找到Name =,這裏name ='USERNAME')
  • IE.document.getElementsByclassname(在代碼中找到class =。在這種情況下,類=「專注」)

*注:儘量使用首先使用的ID,然後命名,那麼類僅1個元素將有1號,但多個項目具有相同的名稱或類別,或者如果您擁有正確的ID,則保證其可以正常工作。

Dim IE As Object ' InternetExplorer.Application 
Dim UserN As Object 'username field 
Dim PW As Object 'password field 
Dim LoginButton As Object 'Login button 

'enter username and password in textboxes 
Set UserN = IE.document.getElementByID("USERNAME") 
'fill in first element named "username", assumed to be the login name field 
UserN(0).Value = "" 

Set PW = IE.document.getElementsByName("PASSWORD") 
'fill in first element named "password", assumed to be the password field 
PW(0).Value = "" 

然後,您需要在頁面上找到botton,然後單擊它。 下面是一些代碼:

'After entering in the user/pass, we need to click the button. 
Dim objCollection As Object 
Set objCollection = IE.document.getElementById("loginbutton") 
objCollection.Click 

有關於如何正確使用每一個選擇方法在那裏一噸多的信息和更多的代碼,所以這只是準系統,讓你開始。 搜索'VBA IE自動化'將爲您提供一些很好的結果。

+0

赫爾姆斯嗨。不確定這部分是否正確。 UserN(0).Value =「」。 getElementByID不返回集合,只是一個對象。根據定義,ID應該是唯一的頁面。請參閱:http://www.w3schools.com/jsref/met_document_getelementbyid.asp –

+0

執行上述代碼後,會出現編譯錯誤:對象變量或未設置塊變量 – Shank

相關問題