2015-04-22 139 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