自动登录chase.com - 使用Web浏览器控件

时间:2017-11-14 14:38:37

标签: javascript java html vb.net

问题摘要

- 这是一个很长的问题,因为我希望提供我尝试的所有内容,让所有试图提供解决方案的人都更容易,所以请耐心等待 -

总的来说,我了解了一些使用Web浏览器控件自动登录网站的方法。我使用Chrome检查页面并找到元素名称,ID,标签等,然后尝试找到像文本框一样的特定控件,然后我可以将value属性设置为我想要的。这适用于大多数网站,但Chase's难倒。

首次尝试

以下是Chrome检查的页面:

enter image description here

突出显示的最后一行是用户名文本框,我打算设置的那个。

如果我使用这个循环遍历所有控件:

Dim theElementCollection As HtmlElementCollection = webbrowser.Document.All

    For Each curElement As HtmlElement In theElementCollection
        If curElement.Id <> "" Or curElement.Name <> "" Then
            MsgBox(curElement.Id & ":" & curElement.Name)
        End If
    Next

找到的唯一相关项目是 logonDialog (不是 userId userId-input-field )。

第二次尝试

现在我可以在树中看到有一个层次结构,所以我尝试使用我发现的控件的.Children属性:

    Dim logonDialog As HtmlElement = webbrowser.Document.GetElementById("logonDialog")

    For i = 0 To logonDialog.Children.Count - 1
        MsgBox(logonDialog.Children(i).Id & ":" & logonDialog.Children(i).Name & ":" & logonDialog.Children(i).TagName)
    Next

enter image description here

这导致显示 logonbox ,因此很有希望......

现在,如果我在找到 logonbox 的代码下面尝试相同的方法:

 Dim logonDialog As HtmlElement = webbrowser.Document.GetElementById("logonDialog")
    Dim logonbox As HtmlElement = logonDialog.Children("logonbox")
    MsgBox(logonbox.Id)
    MsgBox(logonbox.Children.Count)
    For i = 0 To logonbox.Children.Count - 1
        MsgBox(logonbox.Children(i).Id & ":" & logonbox.Children(i).Name & ":" & logonbox.Children(i).TagName)
    Next

它说 logonbox 没有孩子......所以我怎么能进一步下去?看看上面的图片,这是因为列表中的下一个“孩子”是“#document”吗?

第三次尝试

使用评论中建议的“iFrame”方法:

    Dim logonbox As HtmlElement = logonDialog.Children("logonbox")


    For Each element_ As HtmlElement In logonbox.Document.All
        MsgBox(element_.Id & ":" & element_.Name)
    Next

该列表与我在“First Attempt”中创建的列表相同

- 也许还有另一种完全不同的登录Chase的方式。这是我的最终目标,所以如果有人采用不同的方式,我也会对此持开放态度!

0 个答案:

没有答案