通过GetElementsByName设置文本框的值

时间:2013-10-25 07:39:18

标签: html vb.net webbrowser-control

我有一个导航到的网页浏览器控件:http://www.tinyurl.com/schoolbliz-login 这是网站页面源的一部分:

  <tr>
      <td width="11%" valign="middle" bgcolor="#FFFFFF">Username</td>
      <td width="41%" valign="bottom" bgcolor="#FFFFFF"><input type="text" name="user_id" class="textbox" onfocus="style.backgroundColor='#D3EBFF'" onblur="style.backgroundColor='white'"></td>
      <td>&nbsp;</td>
  </tr>
  <tr> 
      <td>&nbsp;</td>
      <td height="25" bgcolor="#FFFFFF">&nbsp;</td>
      <td valign="middle" bgcolor="#FFFFFF">Password</td>
      <td bgcolor="#FFFFFF"><input type="password" name="password" class="textbox" onfocus="style.backgroundColor='#D3EBFF'" onblur="style.backgroundColor='white'"></td>
      <td>&nbsp;</td>
  </tr>

我想将文本框(用户名和密码)的值设置为某个文本。我在我的browser.navigated中有这行代码,但它给了我一个错误:

browser.Document.GetElementsByName("user_id").SetAttribute("value", "usernametest")
browser.Document.GetElementsByName("password").SetAttribute("value", "passwordtest")

更新1: 我尝试使用HTMLElement,但Visual Studio说它没有定义:

Dim elements As ArrayList = New ArrayList()

        For Each element As HTMLElement In browser.Document.GetElementsByName("id_number")
            elements.Add(element)
        Next

1 个答案:

答案 0 :(得分:1)

GetElementsByName是复数,returns an array

选择第一个返回值[0]或为文本区域指定ID并使用getElementById