Vba 如何在网页上输入用户名和密码?

Vba 如何在网页上输入用户名和密码?,vba,excel,Vba,Excel,Q1)如何在此网页“”上输入密码和用户名 我已经编写了访问该网页的代码: Sub login() Dim IE As Object Const navOpenInNewTab = &H800 Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True IE.Navigate "https://esp" End Sub 问题2)我应该使用什么createobject来访问google

Q1)如何在此网页“”上输入密码和用户名

我已经编写了访问该网页的代码:

Sub login()
  Dim IE As Object

  Const navOpenInNewTab = &H800
  Set IE = CreateObject("InternetExplorer.Application")
  IE.Visible = True
  IE.Navigate "https://esp"
End Sub
问题2)我应该使用什么createobject来访问google chrome


Thnx提前

要在网页上查找要通过VBA选择的项目,您需要按F12进入网页上的开发人员工具

在那里,您可以通过“进入”页面上的代码并选择希望VAB选择的项目来找到要调用的元素

这是如何做到的:

然后选择用户名框:

选择此框后,“开发人员”框中的代码将突出显示,告诉您链接到所按项目的代码

下面是用户名框现在突出显示的代码:

我们有三个选项来选择页面上的项目:

  • IE.document.getElementById(在代码中查找ID=,此处ID='USERNAME')
  • IE.document.getElementsByName(在代码中找到Name=,此处Name='USERNAME')
  • IE.document.getElementsByCassName(在代码中找到class=。在本例中,class='focus')
*注意:尝试使用先使用ID,然后使用名称,然后使用类,因为页面上只有一个元素将具有该ID,但多个项目可以具有相同的名称或类,或者如果您具有正确的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自动化”将获得一些好的结果

子登录()
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
模糊的物体 Dim HTMLDoc作为对象 作为对象的Dim OBJ集合 常量navOpenInNewTab=&H800 设置IE=CreateObject(“InternetExplorer.Application”) 可见=真实 即“导航”https://ogin.esp" 在IE忙或IE ReadyState 4:循环时执行 设置HTMLDoc=IE.document 使用HTMLDoc HTMLDoc.getElementById(“用户名”).Value=“yyyy” HTMLDoc.getElementById(“密码”).Value=“xxxxx” 以 设置objCollection=IE.document.getElementById(“登录按钮”) 对象集合。单击 端接头

此代码适用于……

Hi Helms。不确定这部分是否正确。UserN(0)。Value=”“。getElementByID不返回集合,只返回对象。根据定义,ID对于页面应该是唯一的。请参阅:执行上述代码后出现编译错误:未设置对象变量或with block变量