2014-10-11 134 views
0

我想教自己C#我正在工作的程序有一個瀏覽器附加到它。我一直在試圖弄清楚如何通過標籤名來點擊按鈕,但我似乎無法得到它。我搜索了這個網站,發現了很多有用的主題,但還沒有幫助解決這個問題。C#點擊標籤

<a class="some_class" style="letter-spacing: -1px" href="/someurl" data-executing="0">displaybuttontext</a> 

這是我的按鈕我想讓程序點擊。但不能得到它。以下是我已經嘗試了幾種方法:

 private void test1_CheckedChanged_1(object sender, EventArgs e) 
    { 
     web.Document.GetElementsByTagName("class").GetAttribute("href").invokemember("click"); 
    }  

這種方法並沒有把它扔到了一個的getAttribute錯誤,我又試圖:

moco.Document.GetElementById("a").InvokeMember("click");  

這並不表明一個錯誤,但也沒有按點擊按鈕(displaybuttontext)。有人可以善舉展示一個例子並解釋它。請記住,我是新手。

回答

1

比方說,你有這樣的HTML頁面上:

<a id="link-id" href="linktosomewhere.html">click here</a> 

你會想打電話:

Document.GetElementById("link-id").InvokeMember("click"); 

這是因爲鏈接元素具有屬性ID =「鏈接ID」 。

您可以在這篇文章中,你傳遞給的getElementById參數必須是要獲取的元素的ID中所看到的:http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.getelementbyid(v=vs.110).aspx

+0

它並不顯示一個ID,它顯示了一個類..我已經試過這種方法。但是,無論如何感謝 – user3674312 2014-10-11 02:24:52

+0

你可以添加一個ID嗎?查看這裏的解決方案,它遍歷所有的元素,並找到匹配的類:http://stackoverflow.com/questions/8461932/how-to-getelement-by-class – 2014-10-11 02:30:31

+0

不,我不能添加一個身份證,因爲它必須來自,displaybuttontext我會發現它只是一直到最後都是謝謝。 – user3674312 2014-10-11 02:55:51