少し前にこの質問をしましたが、答えがないようです。別の解決策を試してみましたが、今は行き詰まっています。次のコードを参照してください。
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が自動的に保存されますが、その後、他のナビゲートを呼び出して、結果。上記のコードを使用すると、常に2番目のコードが必要になるため、機能しません。また、イベントに配置しても機能しません。必要なものは次のようになります。
- ログインページでナビゲートし、Cookieを1回だけ保存します。
- 結果を取得するたびに異なるURLを渡します。
誰かが解決策を与えることができますか?
編集:
たぶん私が提供したコードのサンプルは誤解を招くものでした、私が欲しいのは:
foreach(url in urls)
{
Webborwser1.Navigate(url);
//Then wait for the above to complete and get the result from the event, then continue
}