我一直在尝试从Intranet数据站点自动检索数据。该网站受密码保护。我之前有自动文本框输入,但用户名和密码输入的输入标记不有 id 属性设置,这会导致我出现问题。
他们都设置了名称属性集,但我不确定如何使用此信息输入相关的用户名和密码详细信息。
登录页面的相关源代码:
<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 Explorer对象。通常,当我将文本输入到文本框时,我使用类似于ie.document.getElementById("Username").innerText = Username
的代码,但是这显然是通过 id 属性引用的对象,在这种情况下没有设置。我已经浏览了在线指南,很多人似乎建议开始ie.document.all("Username")
的代码,但我不确定如何正确使用它,我的intellisense似乎不喜欢所有命令(据我所知,所有相关的参考资料都已启用。)
我需要的是输入一个字符串到用户名和密码文本框,因为我很熟悉如何提交表格。
答案 0 :(得分:0)
您可以使用getElementsByTagName("input")
。因为可能有多个结果(“...元素 s ...”),这将返回一个数组,第一个元素是用户名,第二个元素是密码。
<强>用法:强>
getElementsByTagName("input")(0) ' --> username
getElementsByTagName("input")(1) ' --> password
getElementsByTagName("input")(2) ' --> button
要阅读或写入字段的内容,请使用.Value
属性。
说明:
getElementsByTagName()
按标记名称(例如<a>
,<b>
,<body>
等)获取网页元素,而不是像代码段中的ID一样。< / p>