从Visual Basic中的Web表获取内容

时间:2015-01-04 16:18:09

标签: vb.net visual-studio-2012

我必须从网页地址的表格中获取一些内容,但我无法弄清楚如何。我没有一个合适的页面给你作为例子,但这里是页面的方式:

在表格的第一列会有讲座名称,每一行都会包含一个带有动态编号id的“添加”按钮,它会随机变化。(示例按钮ID:add-19872)我可以找到讲座的到目前为止的名字,但我无法达到他们的“添加”按钮。我想要做的是找到这些特定按钮与讲座名称的行位置。我的意思是如果讲座的名字是EE231并且它在第3行,它应该找到按钮并给出它的id。

对不起英语和表达方式表示不满。 祝大家有个美好的一天......

1 个答案:

答案 0 :(得分:0)

此代码可能对您有所帮助,但我写了它,因为我理解您对所需代码的描述:

    Dim YourHTML As HtmlDocument = Some_WebBrowser.Document
    For Each Your_Table As HtmlElement In YourHTML.GetElementsByTagName("table")
        If Your_Table.Name = "Table Name" Then
            For Each the_TR_Element As HtmlElement In Your_Table.GetElementsByTagName("tr")
                If the_TR_Element.Name = "Your lecture's Name" Then
                    For Each the_TD_Element As HtmlElement In Your_Table.GetElementsByTagName("td")
                        If the_TD_Element.InnerHtml.Contains("Your Button Tag , Example : <Input , <Button") Then
                            'In Above "IF" Condition Make sure you use the tag as showen (<Tag) Not (<Tag> , <Tag/>)
                            For Each InSide_Button As HtmlElement In the_TD_Element.GetElementsByTagName("Button Tag like in Above IF")
                                MsgBox("Button ID is ==> " + InSide_Button.Id)
                            Next
                        End If
                    Next
                End If
            Next
        End If
    Next

我建议你使用WebBrowser来完成这项任务,因为WebBrowser在这种情况下很有帮助,如果你不知道如何使用它,这里有一个明显的例子:

    Dim Some_WebBrowser As New WebBrowser
    AddHandler Some_WebBrowser.DocumentCompleted, AddressOf the_Document_is_Here
    Some_WebBrowser.Navigate("WebPage URL")

然后你需要在你的班级中添加下一个子:

    Private Sub the_Document_is_Here(sender As Object, e As WebBrowserDocumentCompletedEventArgs)

    End Sub

然后在&#34; the_Document_is_Here &#34;中间添加上面的第一个代码Sub,和你的完成。

快乐编码^^