如何在vb.net网络浏览器中按下按钮

时间:2017-10-16 17:14:14

标签: javascript html vb.net web element

您好我正在使用简单的帐户菜单通过网络浏览器登录。我试图让一个按钮自动登录此人。我可以让按钮自动填写密码和用户名,但提交按钮不起作用。

以下是steam登录的链接:Here

这是按钮的元素视图。还要注意它看起来像分支到某种事件? enter image description here

我有点难以理解如何解决这个问题。有没有办法可以使用web-console以这种方式提交?这是我到目前为止所得到的:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    WebBrowser1.ScriptErrorsSuppressed = True

    WebBrowser1.Document.GetElementById("input_username").SetAttribute("value", TextBox1.Text)

    WebBrowser1.Document.GetElementById("input_password").SetAttribute("value", TextBox2.Text)

    WebBrowser1.Document.All("login_btn_signin").InvokeMember("click")

End Sub

1 个答案:

答案 0 :(得分:1)

正确检查图像后,我注意到您点击了错误的元素。 <div id="login_btn_signin">元素只是一个容器,不做任何事情。您应该单击基础<button>元素。

由于按钮本身没有ID,因此您必须使用解决方法:

'Get the "login_btn_signin" parent/container div.
Dim LoginButtonContainer As HtmlElement = WebBrowser1.Document.GetElementById("login_btn_signin")

'Get the first found <button> element in the container div.
Dim LoginButton As HtmlElement = LoginButtonContainer.GetElementsByTagName("button")(0)

'Click the button.
LoginButton.InvokeMember("click")