我尝试在此处登录:http://www.swagbucks.com/p/login
我尝试过以下方法:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
For Each element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("input")
If element.Id = "sbxJxRegEmail" Then
Dim i = 0
Dim strLine = TextBox2.Text
element.OuterText = strLine
End If
If element.Id = "sbxJxRegPswd" Then
Dim i = 0
Dim strLine = TextBox3.Text
element.OuterText = strLine
End If
Next
End Sub
然后我尝试了这个
WebBrowser1.Document.GetElementById("sbxJxRegEmail").SetAttribute("value", TextBox2.Text)
WebBrowser1.Document.GetElementById("sbxJxRegPswd").SetAttribute("value", TextBox3.Text)
WebBrowser1.Document.GetElementById("loginBtn").Focus()
WebBrowser1.Document.GetElementById("loginBtn").InvokeMember("click")
输入的文字是什么,但在浏览器上,它并不是真的存在。这很难解释,但基本上用户名和密码只是漂浮在文本框的顶部,就像某种幽灵文本一样,当我点击它时,它就会消失。
我该如何解决这个问题?
答案 0 :(得分:1)
它们可能是蒙版输入,可能需要设置这些字段的内部文本,如此......
WebBrowser1.Document.All("Username").SetAttribute("value", "myusername")
WebBrowser1.Document.All("Password").SetAttribute("value", "mypassword")
Dim elements As HtmlElementCollection = (WebBrowser1.Document.All.GetElementsByName("Password"))
For Each element As HtmlElement In elements
element.InnerText = "mypassword"
Next
'您可能必须对您的用户名/电子邮件执行相同操作