我一直试图从intranet数据站点自动检索数据。该网站受到密码保护。我以前有自动的textbox条目,但是用于用户名和密码条目的输入标记do not有一个id属性集,这给我带来了问题。
它们都有一个name属性集,但是我不确定如何使用这些信息输入相关的用户名和密码详细信息。
登录页面中的相关源代码:
<form method=POST action='../authentication.asp' name=frmLogin target='_parent'>
<table width='100%' height='100%'>
<tr><td align=center valign=middle>
<table class=dialogOuter>
<tr class=dialogTitle><td>Logon</td></tr>
<tr><td>
<table class=dialogInner>
<tr>
<td width=100>User Name</td>
<td><input name=Username /></td>
</tr>
<tr>
<td>Password</td>
<td><input type=password name=Password /></td>
</tr>
<tr>
<td colspan=2 align=right>
<input class=Button type=submit value=Logon />
</td>
</tr>
</table>
</td></tr>
</table>
</td></tr>
<tr>
<td align=center valign=bottom>Version: 4.4.1.8
</td>
</tr>
</table>
<!-- Set the UserName input field to take focus, improved useability -->
<script language="JavaScript">
<!--
document.frmLogin.Username.focus();
//-->
</script>
</form>在类模块中调用网站,使用变量ie来表示internet对象。通常,当我将文本输入到文本框中时,我使用类似于ie.document.getElementById("Username").innerText = Username的代码,但这显然是通过id属性引用对象的,在本例中没有设置该属性。我已经浏览过在线指南,很多人似乎推荐启动ie.document.all("Username")的代码,但是我不知道如何正确使用它,我的intellisense似乎不喜欢 all 命令(据我所知,所有相关的引用都已启用)。
我所需要的只是一个字符串被输入到用户名和密码文本框中,因为我对以后如何提交表单感到满意。
发布于 2015-05-05 00:15:20
你可以用getElementsByTagName("input")。因为可能有多个结果( ("...Elements..."),),这将返回一个数组,第一个元素是用户名,第二个是密码。
使用:
getElementsByTagName("input")(0) ' --> username
getElementsByTagName("input")(1) ' --> password
getElementsByTagName("input")(2) ' --> button若要读取或写入字段的内容,请使用.Value属性。
解释:
getElementsByTagName()通过标签名(例如<a>、<b>、<body>等)获取网页元素。与它们的ID相反,就像在代码片段中一样。
https://stackoverflow.com/questions/30042105
复制相似问题