如何在google visual basic中自动点击搜索按钮。净

时间:2013-01-20 21:01:24

标签: vb.net

我有一个带有文本框,按钮和tabcontrol的表单。

按钮中的

我有这段代码:

[Dim browser As New WebBrowser()
TabPage1.Controls.Add(browser)
browser.Dock = DockStyle.Fill
browser.Navigate(New Uri("http://www.google.com"))]

上面的代码有效,但我需要能够从我的文本框中搜索,当我点击按钮时,它会带我去谷歌然后自动输入我在文本框中搜索的单词,然后单击谷歌上的搜索按钮。我试过这个,但它不起作用。感谢

Dim textElement. As HtmlElement = browser.Document.All.GetElementsByName("q")(0)
textElement.SetAttribute("value", textbox.text")
Dim btnElement As HtmlElement = browser.Document.All.GetElementsByName("btnG")(0)
btnElement.InvokeMember("click")

3 个答案:

答案 0 :(得分:0)

在单击按钮之前,您需要将焦点设置到textElement。

textElement.Focus()

否则,页面显然不会运行搜索。

您可以通过在控制台窗口中尝试上述相同的基本步骤来查看此内容。他们不会工作直到该领域有焦点(从我的测试中)。

(我还使用了mshtml类型库,以便点击功能直接在下面的完整代码中公开)

Imports mshtml

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        web.Navigate("http://www.google.com")
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim textElement As HtmlElement = web.Document.All.GetElementsByName("q")(0)
        textElement.SetAttribute("value", TextBox1.Text)
        textElement.Focus()
        Dim btnElement As HTMLButtonElement =
            CType(web.Document.All.GetElementsByName("btnG")(0).DomElement, 
                HTMLButtonElement)
        btnElement.click()
    End Sub
End Class

答案 1 :(得分:0)

我认为您可以在按钮点击处理程序中使用它...

browser.navigate("https://www.google.co.in/search?q="+textbox.Text)

这将在Google上搜索文本框中的文本。 您可以在不“自动单击搜索按钮”的情况下进行搜索,而无需在html的文本元素中设置值。这适合我。希望这会有所帮助。

答案 2 :(得分:0)

我还需要在Google浏览器中搜索用户想要的文本,并将下面的代码添加到Button Click Event中,即可达到我想要的效果。

代码:

Dim sInfo As New ProcessStartInfo("https://www.google.co.in/search?q=" & TXT_Entidade.Text)

Try
    Process.Start(sInfo)
Catch ex As Exception
    Process.Start("iexplore.exe", sInfo.FileName)
End Try