如何在网页中查找文字?

时间:2013-01-22 10:02:53

标签: vb.net textbox richtextbox

我有一个文本框和一个按钮,当我在文本框中输入一个单词并单击按钮时,它会在当前网页上找到该单词。

我试过这个,有时它有效,有时它不用,我也想知道如何在文本框中搜索“下一个”单词,通常它只搜索输入的第一个单词。

这是我的代码:

dim wb as webbrowser
if wb.documenttext.contains(textbox.text) then
msgbox("YES")
else
msgbox("NO")

它确实找到了一些词,但大部分时间都找不到。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样做:

If wb.DocumentText.ToLower.Contains(TextBox1.Text.ToLower) Then
    '...
End If

或者你可以尝试循环遍历所有元素,如下所示:

Private Function HasTextInNode(ByVal elem As HtmlElement, ByVal txt As String) As Integer
    Dim iResult As Integer = 0

    If elem.Children.Count > 0 Then
        For Each child As HtmlElement In elem.Children
            iResult += HasTextInNode(child, txt)
        Next
    ElseIf elem.InnerText <> Nothing AndAlso elem.InnerText.ToLower.Contains(txt.ToLower) Then
        iResult += elem.InnerText.ToLower.Split(txt.ToLower).Length - 1
    End If

    Return iResult
End Function

这种情况下,函数返回网页中的元素数量,但很容易修改。希望它有所帮助。