2013-07-23 95 views
1

我試圖做一個VB程序,點擊一個基於HTML按鈕,但我堅持:/點擊HTML按鈕

按鈕的HTML代碼

<button onclick=";return true;" class=" yt-uix-button yt-uix-button-default yt-uix-button-size-default" type="submit" role="button"> <span class="yt-uix-button-content"> Posten </span> </button>

我已經已經與

Dim allelements As HtmlElementCollection = WebBrowser1.Document.All 
    For Each element As HtmlElement In allelements 
     If element.GetAttribute("class") = " yt-uix-button yt-uix-button-default yt-uix-button-size-default" Then 
      element.InvokeMember("click") 
     End If 
    Next 

嘗試過,但它提前 感謝doesen't工作

+0

你會得到什麼錯誤? – MathSquared

+0

我沒有收到任何錯誤,只是沒有發生任何事情 – user2612200

+0

通常你會按ID選擇一個特定的元素,然後'點擊'。例如allelements.GetElementById(「submitStatus」)你確定你有'元素'的適當控制。 – rheitzman

回答

1

您可以嘗試使用的ID和名稱:

WebBrowser1.Document.GetElementById("element").InvokeMember("click") 

編輯您沒有ID的......好吧,這不是一個問題。我創建了(在參考資料中,我把它叫做「htmlpage」)與您的按鈕基本HTML頁面:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Example</title> 
    </head> 
    <body> 
     <h3>Content goes here</h3> 
     <button onclick="alert('Button clicked!');" class=" yt-uix-button yt-uix-button-default yt-uix-button-size-default" type="submit" role="button"> <span class="yt-uix-button-content"> Posten </span> </button> 
    </body> 
</html> 

我不知道你想做什麼,所以按鈕,將顯示文本「按鈕警報點擊」。我救了你的班。

然後我創建了兩個按鈕。第一個按鈕將加載此文檔:

WebBrowser1.DocumentText = My.Resources.htmlpage 

,第二個會做的工作:

For Each element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("button") 
      Dim ElementClass As String = "yt-uix-button yt-uix-button-default yt-uix-button-size-default" 

      If element.OuterHtml.Contains(ElementClass) Then 
       element.InvokeMember("Click") 
      End If 
     Next 

它爲我工作。它應該與網頁上的頁面一起工作。對不起,英文不是我的母語,也許我誤解了一些東西?

+1

我會,但我沒有按鈕ID或名稱 – user2612200