Vb - 使用程序调用Button

时间:2013-01-18 10:18:17

标签: html vb.net web

我使用以下代码使用vb.net导航到网址

wb.Navigate("https://irctc.co.in", False)
While wb.ReadyState <> WebBrowserReadyState.Complete
    Application.DoEvents()
End While

稍后我填写表格

中的用户名和密码文本框
If CType(elm, System.Windows.Forms.HtmlElement).Name = "userName" Then 'Get User ID Element
    CType(elm, System.Windows.Forms.HtmlElement).InnerText = "text"
ElseIf CType(elm, System.Windows.Forms.HtmlElement).Name = "password" Then 'Get Password Element
    CType(elm, System.Windows.Forms.HtmlElement).InnerText = "text"
End If

在使用上面的行

填写表单后,我使用以下代码提交按钮
wb.Document.All("button").Focus()
wb.Document.All("button").InvokeMember("click")

按钮的html部分

<input type="submit" name="button" id="button"  class="buttonSubmit" value="Login" onclick="return validate();" >   </td>

然而它似乎没有调用任何东西,尝试分配Invokemember方法的结果对象,来自“Nothing”。它没有进入文件完成程序。我必须填写单击提交按钮后出现的下一个表单。在调用成员之后,我如何告诉程序等到下一页加载?加载后,下一个表单的html详细信息是否会在webbrowser对象wb中更新?或者我必须分配给新对象吗?

1 个答案:

答案 0 :(得分:0)

我不认为使用All是合适的解决方案,主要是因为它总是会返回一个元素集合,即使它只找到一个元素。

相反,试试这个:

wb.Document.GetElementById("button").InvokeMember("click")