У меня есть элемент управления веб- браузером, который перемещается по адресу: 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> </td>
</tr>
<tr>
<td> </td>
<td height="25" bgcolor="#FFFFFF"> </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> </td>
</tr>
Я хочу установить значения текстовых полей (имя пользователя и пароль) на определенный текст. У меня есть эта строка кода в моем браузере.навигация, но это дает мне ошибку:
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
GetElementsByName
- множественное число и returns an array
.
Либо выберите первое возвращаемое значение [0]
либо укажите текстовую область id и используйте getElementById
GetElementsByName()
возвращает HTMLCollection. Вы должны пройтись по каждому элементу и установить значения