vb.net使用WebBrowser并使用页面按钮浏览页面

时间:2017-05-16 20:22:52

标签: vb.net webbrowser-control

在vb.net中,我已成功使用此方法登录安全网站。

webBrowser.Document.GetElementById("username").SetAttribute("value", "me@email.com")
webBrowser.Document.GetElementById("password").SetAttribute("value", "my_pw")
webBrowswer.Document.Forms(0).InvokeMember("submit")

安全网站返回一个HTML页面,该页面在webBrowser控件中正确显示,控件将传回给用户。

用户单击表单上的一个按钮(表单的一部分,位于浏览器窗口上方),这会导致应用程序根据该页面上的信息执行某些命令。

此网页在页面底部有控件,允许用户从网站检索另一个页面。控件是页码和提交按钮。

我希望让应用程序为他执行此操作,而不是要求用户找到这些表单控件并从一个页面转到另一个页面。

问题是新页面(例如第2页)实际上并没有在webBrowser窗口中加载。因此,webBrowser.document不会改变。

随之而来的是无限循环。但是,如果我允许程序将控制权返回给用户并强制他移动到下一页,则webBrowser.document将重新加载新页面的内容

那么,点击这些导航(“下一页”)控制与手动还是编程控制有何不同?

dim sUrl as string = "https://www.example.com/with_parameters"
webBrowser.Navigate(sUrl)
sNewPage = webBrowser.DocumentText

以下是用于移至下一页的代码:

webBrowser.Document.GetElementById("gotopage").Focus()
webBrowser.Document.GetElementById("gotopage").SetAttribute("Value", iNextPage)
webBrowser.Document.GetElementById("gotopage-button).InvokeMember("click")
sNewPage = webBrowser.DocumentText

此webBrowser.DocumentText未加载新页面的内容。 我该怎么做才能强制它包含新页面的内容?

感谢您的帮助!

0 个答案:

没有答案