2012-08-10 70 views
0

我試圖編寫一個腳本。以編程方式點擊c中的鏈接#

我設法將hole html頁面轉換爲字符串,現在我想以某種方式點擊我在那裏的元素。我有點失落,所以任何信息都可以幫到你。

我嘗試將文檔作爲HtmlDocument獲取,但由於某種原因,當我使用getElementById方法時,它找不到該元素。

請任何信息都有幫助。

謝謝。

目前這是我得到的代碼, 它給我帶來了我的字符串,即它的值是html文檔,現在我需要一些如何提取relavent標記並以編程方式單擊它。

感謝您的輸入, 仍在等待一個可以幫助我的人。

string email = "someemail*";`enter code here` 
string pw = "somepass"; 
string PostData = String.Format("email={0}&pass={1}", email, pw); 

CookieContainer cookieContainer = new CookieContainer(); 

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.facebook.com/*******"); 
req.CookieContainer = cookieContainer; 
req.Method = "POST"; 
req.ContentLength = PostData.Length; 
req.ContentType = "application/x-www-form-urlencoded"; 
req.AllowAutoRedirect = true; 
req.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2"; 

ASCIIEncoding encoding = new ASCIIEncoding(); 
byte[] loginDataBytes = encoding.GetBytes(PostData); 
req.ContentLength = loginDataBytes.Length; 
Stream stream = req.GetRequestStream(); 
stream.Write(loginDataBytes, 0, loginDataBytes.Length); 

HttpWebResponse webResp = (HttpWebResponse)req.GetResponse(); 

Stream datastream = webResp.GetResponseStream(); 
StreamReader reader = new StreamReader(datastream); 
string sLine = ""; 
string json = ""; 
while (sLine != null) 
{ 
    sLine = reader.ReadLine(); 
    json += sLine; 
} 
json.ToString(); 
+0

你想得到該鏈接的HTML文件,或只是點擊鏈接? – Charlie 2012-08-10 02:14:11

+0

發佈您遇到問題的代碼。 – Bernard 2012-08-10 02:17:22

+0

另外,你是在刮一個HTML頁面嗎?考慮HTMLAgilityPack! – 2012-08-10 02:24:36

回答

1

也許你會想看看WaitN,它可以讓你做這一切真的很容易

0

A「點擊鏈接」是一回事發送一個HTTP請求。如果您可以從您擁有的文檔中解析URI,則可以單獨創建HTTP請求併發送該請求。

0

點擊鏈接是通過爲鏈接的href發佈HTTP-Get來完成的。

如果有JavaScript的交互性,那麼你就需要採取一個網頁瀏覽器元素,並注入一個javascript,上的document.ready執行document.getElementById("whatever").click()

How do I programmatically click a link with javascript?

您可以使用HTML敏捷包解析一個HTML文檔並提取HREF參數。

相關問題