Vb.net 使用GetElementFromPoint单击站点的特定坐标

Vb.net 使用GetElementFromPoint单击站点的特定坐标,vb.net,webbrowser-control,Vb.net,Webbrowser Control,我正在尝试使用vb.net自动执行单击过程并登录到特定站点 我目前的问题是,输入字段和登录按钮既没有id也没有类,因为我找不到修改它们的值或调用单击的有效方法,所以我采取了使用坐标并调用单击坐标的粗暴路线 Dim NewPoint As New Point(71, 386) Dim ele As HtmlElement = Form2.WebBrowser1.Document.GetElementFromPoint(NewPoint) ele.InvokeMember("

我正在尝试使用vb.net自动执行单击过程并登录到特定站点

我目前的问题是,输入字段和登录按钮既没有id也没有类,因为我找不到修改它们的值或调用单击的有效方法,所以我采取了使用坐标并调用单击坐标的粗暴路线

    Dim NewPoint As New Point(71, 386)
    Dim ele As HtmlElement = Form2.WebBrowser1.Document.GetElementFromPoint(NewPoint)
    ele.InvokeMember("click")
我已经用定时器和计算得到了这些特定的坐标,以计算出站点的真实x和y

    lbl_mousex.Text = "Mouse Position X:" & MousePosition.X - Form2.WebBrowser1.Location.X - 8
    lbl_mousey.Text = "Mouse Position y:" & MousePosition.Y - Form2.WebBrowser1.Location.Y - 29
但即使在这之后,它也不会调用单击

我的想法慢慢用完了,我不明白为什么它不起作用。

请参见


它没有类,也没有任何内部文本。我试图编辑代码,以满足我的需要,但没有用。HTML是如此的
,它似乎是一个特定于站点的问题,因为我在另一个站点上使用过它,它工作得很好。然而,我最初想要在其上使用此代码的站点不使用该代码。此外,我还通过分析当我单击表单的登录按钮时发送的post数据修复了我的问题,该数据处于普通测试中,因此我可以轻松地操作要登录的字符串。
For Each Element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("input")
    ' You can check name, type or whatever you want
    If Element.GetAttribute("name") = "submit" Then
        Element.InvokeMember("click")
    End If
Next