在 Visual Basic 中从 Web table 获取内容

Getting something from a web table in Visual Basic

我必须从网址中的 table 获取一些内容,但我不知道如何获取。我没有合适的页面来给你举个例子,但页面是这样的:

在 table 的初始列将有讲座的名称,每行将包含一个 "add" 带有动态编号 ID 的按钮,它会随机更改。(示例按钮 ID:添加-19872) 到目前为止,我可以找到讲座的名称,但无法找到他们的 "add" 按钮。我想要做的是用讲座名称的行位置定位这些特定按钮。我的意思是如果讲座的名称是 EE231 并且它在第 3 行,它应该找到按钮并给出它的 ID。

抱歉英语和表达不好。 祝大家有美好的一天...

此代码可能对您有所帮助,但我是根据您对所需代码的描述编写的:

    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")

然后您需要将下一个子项添加到您的 Class :

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

    End Sub

然后在 "the_Document_is_Here" Sub 的中间添加上面的第一个代码,然后你就完成了。

快乐编码^^