Vb.net 如何登录网站?不接受密码作为值

Vb.net 如何登录网站?不接受密码作为值,vb.net,login,passwords,Vb.net,Login,Passwords,我看过很多关于如何使用vb登录网站的例子。但不知怎的,它总是说密码不正确 让我解释一下: 我正在尝试使用vb登录此网站。我已设法使用 wb1.Document.GetElementById("Username").SetAttribute("Value", "myusername") wb1.Document.GetElementById("Password").SetAttribute("Value", "mypassword") 我可以看到他们正在填写,但点击登录按钮,它说密码不正确。当我

我看过很多关于如何使用vb登录网站的例子。但不知怎的,它总是说密码不正确

让我解释一下: 我正在尝试使用vb登录此网站。我已设法使用

wb1.Document.GetElementById("Username").SetAttribute("Value", "myusername")
wb1.Document.GetElementById("Password").SetAttribute("Value", "mypassword")
我可以看到他们正在填写,但点击登录按钮,它说密码不正确。当我尝试手动填写密码(按程序输入用户名)并单击按钮时,它确实起作用。 这两个例子之间的区别是什么?当我手动操作时,我键入的字母会变成点。但是,当我通过我的程序这样做时,字母不会改变,而是保持字母不变。我认为这是问题的一部分,但我不能完全确定

我还尝试从元素密码中更改其他项,例如OuterHTML。当我手动输入密码时,我可以看到哪些项目被调整了。然后我使用了这些值。这不管用。但话说回来,很难看出到底发生了什么变化,所以我可能错过了什么

我注意到,当我手动输入密码值时,密码值被更改为“”。我应该将密码放在不同的属性中吗?我猜密码应该被编码发送到服务器

这是网站上密码字段的代码

<div class="jNiceInputWrapper jNiceSafari FieldPosition col2">
    <div class="jNiceInputInner">
        <input type="password" name="Password" id="Password" class="jNiceInput" placeholder="Wachtwoord" onkeypress="return SubmitOnEnter(this,event)" />
    </div>
</div>

删除setattribute值或innertext将导致失败。

尝试此操作,不要使用GetElementsByID,而是使用Document.All。如果要将元素的name属性值传递给all,可能只是缺少了其中的一些

 wB1.Document.All("Username").SetAttribute("value", Username)
 wB1.Document.All("Password").SetAttribute("value", Password)
让我知道这对你有什么好处

编辑

在进一步了解这一点后,我们无法使用我们尝试过的方法,因为它是一个隐藏的输入。相反,我们可以遍历文档并设置该元素的内部文本

  ' Loop through elements until the element is found
    Dim elements As HtmlElementCollection = wB1.Document.All.GetElementsByName("Password")
    For Each element As HtmlElement In elements
        element.InnerText = "your password"
    Next

天啊!它成功了。经过一些调整。非常感谢!!我将用我使用的代码编辑我的原始帖子。
  ' Loop through elements until the element is found
    Dim elements As HtmlElementCollection = wB1.Document.All.GetElementsByName("Password")
    For Each element As HtmlElement In elements
        element.InnerText = "your password"
    Next