2015-04-22 137 views

回答

0

您可以使用不同的CSS類的按鈕:account-save-button

在VB.NET,使用HtmlDocument.GetElementsByTagName這樣的:

Private Sub ClickSaveButton() 
    If (WebBrowser1.Document IsNot Nothing) Then 
     Dim Elems As HtmlElementCollection 
     Dim WebOC as WebBrowser = WebBrowser1 

    Elems = WebOC.Document.GetElementsByTagName("BUTTON") 

     For Each elem As HtmlElement In Elems 
      Dim CssClass As String = elem.GetAttribute("classname") 

      If ((CssClass IsNot Nothing) And (CssClass.Length <> 0)) Then 
       If CssClass.ToLower().Contains("account-save-button") Then 
        elem.InvokeMember("click"); 
        Exit For 
       End If 
      End If 
     Next 
    End If 
End Sub 

要使用只是一個網絡瀏覽器驗證它,從嘗試這個你瀏覽器的開發者控制檯它的工作原理是因爲YouTube使用jQuery的:

$(".account-save-button").click();

或者純javascript:document.getElementsByClassName('account-save-button')[0].click();

僅供參考,這裏是按鈕的標記:

<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-primary account-save-button account-action-button" type="submit" onclick=";return true;"><span class="yt-uix-button-content">Save</span></button>

其他的想法:

  • T他基本上是屏幕抓取,這可能導致頁面變化時的脆弱應用等。
  • 谷歌可能已經有一個web服務API,你正在努力完成..但這是一個很好的問題: 究竟是什麼你試圖完成?什麼是上下文?我們可能會提出更好的替代解決方案。

更新

我查了Youtube API Reference,但我沒有看到上傳的默認設置首選項的任何東西。

+0

感謝您的幫助。但不幸的是我沒有讓你的代碼工作。 – Mathijs

+0

它爲我工作,我不得不把它從背景中拉出來。如果您顯示您正在使用的實際代碼,則可以更輕鬆地將答案放在您的解決方案的上下文中。 – nothingisnecessary

+0

嗯,我只是想要如果我按Button3它會按保存按鈕。你能給我提供工作代碼嗎?會很棒。 – Mathijs