0

テキストボックスとボタンがあり、テキストボックスに単語を入力してボタンをクリックすると、現在のWebページで単語が検索されると想定されます。

私はこれを試しましたが、うまくいくこともあればうまくいかないこともあります。また、テキストボックスで「次の」単語を検索する方法も知りたいです。通常、最初に入力した単語のみを検索します。

ここに私のコードがあります:

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

いくつかの単語は見つかりますが、ほとんどの場合は見つかりません。

4

1 に答える 1

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

この場合、関数は Web ページ内の要素の数を返しますが、簡単に変更できます。それが役に立てば幸い。

于 2013-01-22T12:24:03.390 に答える