如何在HTML中为VBA代码找到没有ID的元素?

问题描述 投票:-1回答:2

目的是通过VBA代码将登录名和密码写入网站。我没有身份证据就被困在线上。

下面是网站上HTML的一部分,在指出有趣的框/窗口后,登录显示(在我们的键盘上写完之后):

<input propdescname="login" width="0" class="prePopulatedCredentials" 
type="text" size="30" maxLength="127" jQuery15206231273379102914="6" 
autocomplete="off" spellcheck="false" autofocus="true"/>

当我试图找到一个盒子/窗口将此登录从VBA级别 - 有一个问题,因为没有ID。我尝试使用Atribute“Name”,但它失败了IE.Document.getElementByName("login").innerHTML = "name"-发生运行时错误438,Object不支持此属性或方法。

窗口/盒密码也是同样的问题。它的代码行如下:

<input propdescname="passwd" width="0" class="prePopulatedCredentials" 
type="password" size="30" maxLength="127" autocomplete="off" 
spellcheck="false"/>

按钮登录没有问题,因为它有一个id:

<input class="custombutton login_page" id="Log_On" type="submit" 
jQuery15206231273379102914="9" value="Log On"/>
IE.Document.getElementById("Log_on").Click

我有IE8。我读到,当我安装IE11时,有更多的可能性。但也许有人可以帮我在IE8中找到解决方案?

excel vba internet-explorer internet-explorer-8
2个回答
0
投票

你可以尝试一下,看看这对你有用吗?

Dim UserName As Object
Dim PW As Object

Set UserName = IE.document.getElementsByClassName("prePopulatedCredentials")(0)
UserName.Value = "Your User Name"

Set PW = IE.document.getElementsByClassName("prePopulatedCredentials")(1)
PW.Value = "Your Password"

-1
投票

谢谢您的回答。我感激不尽!但与此同时我发现了一条线,它有效!它是:

IE.Document.forms(0).all("login").Value = "my login"

IE.Document.forms(0).all("passwd").Value = "password"

我尝试按照下面这个视频(伙计是惊人的:)),但对登录/密码的推荐并不适合我。 https://www.youtube.com/watch?v=0vwb_OaT2e0

© www.soinside.com 2019 - 2024. All rights reserved.