2013-01-22 32 views
0

我有一個文本框和一個按鈕,當我在文本框中輸入一個單詞並單擊該按鈕時,它假設在當前網頁上找到該單詞。如何在網頁中查找文字?

我試過這個,有時候它有用,有時它不用,我也想知道如何搜索文本框中的「下一個」單詞,通常它只搜索輸入的第一個單詞。

這裏是我的代碼:

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

它確實找到了一些話,但它並不大部分時間。

回答

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 

這種情況下,函數返回的元素個數網頁,但很容易修改。希望能幫助到你。