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

时间:2018-01-01 20:25:29

标签: excel vba internet-explorer internet-explorer-8

目的是通过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中找到解决方案?

log on picture

2 个答案:

答案 0 :(得分: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 :(得分:-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