VB WebBrowser单击按钮

时间:2015-04-22 22:21:48

标签: html vb.net button click

在此网页上:https://www.youtube.com/upload_defaults
我想调用一个函数,然后单击右上角的“保存”按钮。

没有ID或名称。我怎么能这样做?

1 个答案:

答案 0 :(得分: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>

其他想法:

  • 这基本上就是屏幕抓取,当页面发生变化时会导致应用程序崩溃等。
  • Google可能已经为您要完成的工作提供了一个Web服务API ..但这是一个很好的问题: 你到底想要完成什么?背景是什么?我们或许可以提出更好的替代解决方案。

<强>更新

我查看了Youtube API Reference,但我没有看到任何设置上传默认设置的偏好设置。