2010-07-10 95 views
0

我目前正在開發一個項目,我必須以編程方式導航網站。我正在使用C#。在某些情況下,網站在控件事件中導航(更改頁面內容),而URL保持不變。像下面以編程方式瀏覽網站

http://www.centurysecuritiesng.com/Home/tabid/36/ctl/listing/mid/410/Default.aspx

的一個在這個頁面上有一個下拉列表(價目表截至)和上下拉項更改網頁內容發生了變化,而頁面的URL保持不變。任何人都可以建議我怎樣才能以編程方式實現這一點,意味着動態地改變下拉項目,並獲得對該下拉項目的內容。

總之,我希望頁面的動態內容是針對控制事件,基於某種價值。在我的情況下是onchange事件dropdrown根據選定的下拉列表中的值

在此先感謝。

回答

2

你可以嘗試硒。看看:http://seleniumhq.org/。此外,您可以使用您選擇的多種語言編寫網絡爬蟲。如果你喜歡.NET,看看HttpWebRequestClass。

1

從你的問題中不清楚,但我假設你正在試圖讓你的C#應用​​程序自動化一個作爲單獨應用程序運行的Web瀏覽器(而不是將WebBrowser控件嵌入到你的應用程序中並自動化)。

這聽起來像WatiN意味着自動化的東西。它適用於自動化測試(可能或可能不是你正在做的),但可以讓您輕鬆地驅動IE或FireFox的外部實例,導航到頁面,查找文本字段並鍵入它們,單擊按鈕,從他們的網站等

一個示例代碼段:

using (var browser = new IE("http://www.google.com")) 
{ 
    browser.TextField(Find.ByName("q")).TypeText("WatiN"); 
    browser.Button(Find.ByName("btnG")).Click(); 

    Assert.IsTrue(browser.ContainsText("WatiN")); 
} 
+0

總之,我想要基於某些價值來控制事件的頁面的動態內容。在我的情況下,這是onchange事件dropdrown基於下拉列表中選定的值 – 2010-07-10 11:36:04

+0

我正在寫一個網頁報廢,爲此我想要該網頁的動態內容。我現在清楚了嗎? – 2010-07-10 11:40:13

+0

@Sakhawat,在某種程度上你現在很清楚。 :-) – MUS 2010-07-10 11:42:12

0

我認爲你正在嘗試做的網頁抓取。如果是,那麼HTML Agility Pack是您在.NET應用程序中使用並以編程方式廢棄頁面的最佳選擇。