我正在嘗試編寫一個程序,該程序使用WebBrowser控件在www.google.com
中模擬簡單的瀏覽器搜索。我真的只是想模擬互聯網活動。使用WebBrowser控件模擬網絡搜索
我想出了使用循環發送一個號碼到谷歌搜索框,然後按下輸入的想法。
行WebBrowser1.Document.GetElementById("q").SetAttribute("value", i)
成功地將循環中的每個數字發送到谷歌搜索框,但下一行WebBrowser1.Document.GetElementById("btnK").InvokeMember("Click")
不會啓動谷歌搜索按鈕。我沒有得到任何錯誤。
有沒有人有任何想法爲什麼WebBrowser1.Document.GetElementById("btnK").InvokeMember("Click")
不起作用?
此外,我注意到,當我運行此代碼,然後啓動Internet Explorer時,代碼停止。有沒有人對此有任何想法?
非常感謝您的幫助!
問候
喬治
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call LoadBrowser()
End Sub
Private Sub LoadBrowser()
WebBrowser1.Navigate("http://www.google.com/")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' Send search string 'i' to browser n times
Dim i As Integer
For i = 1 To 100
' Browser search
WebBrowser1.Document.GetElementById("q").SetAttribute("value", i)
WebBrowser1.Document.GetElementById("btnK").InvokeMember("Click")
' Pause n seconds before next loop
For x As Integer = 0 To 5 * 100 ' Pause for 5 seconds
Threading.Thread.Sleep(10)
Application.DoEvents()
Next
Next
End Sub
您是否嘗試過在循環之外放置'WebBrowser1.Document.GetElementById(「btnK」)。InvokeMember(「Click」)?因爲它會點擊100次點擊我相信 – Werdna
嗨Werda,是的,我嘗試過,但仍然無法使用。當我將循環中的每個數字發送到Google搜索框時,我想按下谷歌搜索按鈕,因此在循環結束時,我將實際執行100次搜索。 – georgemackenzie
好吧,等待火車ATM,儘快在電腦前,我會嘗試和GWT回你:) – Werdna