当我使用vb.net在youtube中搜索时,如何播放获得的第一个网址?

时间:2018-10-26 19:30:10

标签: vb.net youtube

我试图在vb.net中制作一个程序,该程序将通过单词搜索youtube上的视频并播放我将得到的第一个URL(第一个结果),而无需等待客户端选择。

有人可以帮助我吗?

我进行了搜索,但是我不知道该怎么做,它将播放我会自动获得的第一个视频。

1 个答案:

答案 0 :(得分:0)

  1. 您选择哪种形式开发此程序? Webform? Winform?
  2. 我假设表单是winform,那么您可以使用“ WebBrowser”(可以在工具箱中找到“ WebBrowser”)

    Private Sub openYouTube()
    
        WebBrowser1.Navigate("https://www.youtube.com/?gl=TW")
    
    End Sub
    
  3. 在youtube上找到搜索栏(使用GetElementByID),然后插入要搜索的字符串(使用SetAttribute)。 youtube搜索栏输入框的ID为“搜索”(如何在网页中查找任何元素的ID?定位该元素并单击鼠标右键,为Chrome选择“检查”,为IE选择“检查元素” ,它将显示元素详细信息) enter image description here

    Private Sub inputString&SearchIt()
    
        Dim theStringYouWantToSearch as string
    
        WebBrowser1.Document.GetElementById("search").SetAttribute("value", theStringYouWantToSearch)
    
    End Sub
    
  4. 执行搜索(使用InvokeMember(“点击”)触发搜索)

    Private Sub executeSearch()
    
        WebBrowser1.Document.GetElementById("search-icon-legacy").InvokeMember("click")
    
    End Sub
    
  5. 查找第一个结果并记录URL。 这个过程比较复杂,使用GetElementsByTagName获取结果表的集合,第一个结果是该集合的第一项。找到第一个结果表,然后遍历该表的所有元素,找到id为“ thumbnail”的元素,该元素具有URL的一部分信息。

    Private Sub findFirstResult()
    
       Dim elemCollection as HtmlElementCollection
       Dim firstResultTable as HtmlElement
       Dim hrefString as string
       Dim resultURL as string
    
       elemcollection = WebBrowser1.Document.GetElementsByTagName("ytd-video-renderer")
    
       firstResultTable = elemCollection.item(0)
    
       For each element as HtmlElement in firstResultTable.All
           If element.Id = "thumbnail" then
              hrefString = element.GetAttribute("href")
           End if
       Next
    
       resultURL = "https://www.youtube.com" & hrefString
    
    End Sub
    
  6. 在每个步骤之间,您必须等待网页加载的补充,否则程序将找不到该元素。有几种方法可以执行此操作,您可以对此进行一些搜索。