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

vb.net使用WebBrowser并使用页面按钮浏览页面,vb.net,webbrowser-control,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") 安全站点返

在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未加载新页面的内容。 我该怎么做才能强制它包含新页面的内容


谢谢你的帮助

仅供参考,这是一种可靠的方法,可以知道页面何时加载,而不是插入
Sleep()
。谢谢。我也会把它放进去的。你对这个问题有什么想法吗?很难理解你到底想用
sNewPage
变量做什么,如果不知道页面,也很难看出实际的问题是什么。变量sNewPage只包含从网站发送的页面的整个HTML。它很容易在第一页加载时填充。我只是很难看到如何访问“单击”(实际上)“下一页”按钮后生成的html页面。请使用
DocumentCompleted
事件。每次页面加载完成时,它都会被提升。