我前段时间问过这个问题,但似乎没有答案,所以我尝试使用替代解决方案,但我现在卡住了,请参阅以下代码:
WebBrowser objWebBrowser = new WebBrowser();
objWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(objWebBrowser_DocumentCompleted);
objWebBrowser.Navigate("http://www.website.com/login.php?user=xxx&pass=xxx");
objWebBrowser.Navigate("http://www.website.com/page.php?link=url");
这是事件代码:
WebBrowser objWebBrowser = (WebBrowser)sender;
String data = new StreamReader(objWebBrowser.DocumentStream).ReadToEnd();
由于在加载文档之前我无法使用 WebBrowser.Document.Cookies,因此我必须首先导航登录页面,该页面将自动存储 cookie,但之后我想调用另一个导航以获得结果。现在使用上面的代码它不起作用,因为它总是需要第二个代码,而且我无法将它放入事件中,因为我想要的是这样的:
- 使用登录页面导航并仅存储一次 cookie。
- 每次我想得到一些结果时传递一个不同的 url。
任何人都可以给出解决方案吗?
编辑:
也许我提供的代码示例具有误导性,我想要的是:
foreach(url in urls)
{
Webborwser1.Navigate(url);
//Then wait for the above to complete and get the result from the event, then continue
}