2016-06-07 232 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

相关问题