2012-11-01 27 views
0

在此先感謝..如何使用for for循環手動加載Web瀏覽器?

如何在for循環中的每個元素單擊語句之後重新加載我的Web瀏覽器?

case "Assessment  Database - Initial Search Results": 

objHtmlDoc = (System.Windows.Forms.HtmlDocument)webBrowser1.Document; 
HtmlElementCollection row3 = (HtmlElementCollection)objHtmlDoc.GetElementsByTagName("input"); 
foreach (HtmlElement element in row3) 
{ 
    if (element.GetAttribute("type").ToString() == "submit" && element.GetAttribute("name").ToString() == "View") 
    { 
     element.Focus(); 
     element.RaiseEvent("onclick"); 
     //webBrowser1.GoForward(); 
     // webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); 
    } 
} 
break; 

回答

0

這似乎是XY-Problem。我想你想從http://www.jcao.org/mylkups.asp和其他頁面獲取數據,就好像按鈕手動點擊一樣。

WebClient wc = new WebClient(); 
string page = wc.DownloadString("http://www.jcao.org/mylkups.asp"); 

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
doc.LoadHtml(page); 

var values = doc.DocumentNode.SelectNodes("//input[@name='view']") 
       .Select(t => t.Attributes["value"].Value) 
       .ToList(); 

wc.Headers["Content-Type"] = "application/x-www-form-urlencoded"; 
foreach (var val in values) 
{ 
    var newpage = wc.UploadString("http://www.jcao.org/myrec.asp", "view=" + HttpUtility.UrlEncode(val)); 
    Console.WriteLine(newpage); 
    // 
    //Now Parse that page with HtmlAgilityPack 
}