我正在尝试导航到网站上的特定页面。我第一次打开页面时,会询问用户名和密码,之后每隔一段时间,它就会记住我并且已经登录了。 我知道如何打开浏览器,如何导航到特定页面,以及如何使用VBA输入用户名和密码到正确的位置。我已经登录时,我不想尝试发送用户名和密码,因为这些标签甚至不存在;输入那些东西的盒子不存在。我需要知道的是,有没有办法找到特定的标签,看它是否在VBA宏的网页上?
编辑:所以,我通过简单地使用“On Error Resume Next”来解决我的问题,所以如果它在尝试将信息输入到不存在的元素时遇到错误,它只会跳过它页面导航线。它可能有点hacky,我会继续寻找一个更优雅的解决方案,但现在,它的工作原理。感谢所有回复的人!
答案 0 :(得分:0)
如果您在字符串变量中加载了完整的HTML,则可以执行以下操作:
Dim HasLogin As Boolean, HTMLSource As String
HasLogin = (InStr(HTMLSource, "<input name=""login"" id=""username"">") > 0)
答案 1 :(得分:0)
为HTML文档中的每个输入字段设置一个循环,并检查如下名称。
Public Function isLoginScreen(IE As Object) As Boolean
Set objCollection = IE.document.getElementsByTagName("input")
Dim i As Long, b As Boolean
b=False
i = 0
While i < objCollection.Length
If objCollection(i).Name = "Login" Or objCollection(i).Name = "Password" Then
' You found your element
b=True
Exit Function
End If
i = i + 1
Wend
End Function
您可以在此处查看更多内容:http://www.excely.com/excel-vba/ie-automation.shtml