0

我一直在尝试使用 ac# webBrowser 表单自动登录到基于 javascript 的站点,经过一番搜索后,我想出了如何自动填写用户名和密码:

webBrowser1.Document.GetElementById("email Id").InnerText = "email";
webBrowser1.Document.GetElementById("password Id").InnerText = "password";

但我只是找不到如何自动点击“进入”按钮。我尝试使用与带有调用选项的自动填充相同的方法:

 webBrowser1.Document.GetElementById("btn").InvokeMember("click");

但它没有用,所以这里有一些网站的源代码(一个小部分,显示登录表单部分)

</a>
<form id="login" name="login" action="index.php?sendPass=true" method="post" style="margin: 0; padding: 0; position: relative">
    <div style="text-align: right; margin-right: 10px; margin-top: 0; padding-top: 0;">

    <div style="font: 12px arial; margin: 0; text-align: center"></div>
        <img src="new1/login_title_ido.jpg" alt="" />
    <div style="margin:0px; margin-bottom:10px">
    <div style="font: 12px arial; margin: 0px">דוא"ל &nbsp;:
    <input type="text" name="email" class="loginInput" value="" dir="ltr" /></div>
    <div style="font: 12px arial; margin-top: 1px">סיסמה:
    <input type="password" name="pass" class="loginInput" style="margin-right:1px;margin-top:1px" value="" dir="ltr" /></div>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a onmouseover="this.style.cursor='pointer';" onclick="alert('הכנס דואר אלקטרוני&nbsp;&nbsp;&nbsp;&nbsp; \n ולחץ על כפתור הכנס&nbsp;&nbsp;&nbsp;&nbsp;');"><u>שכחתי סיסמה</u></a>
    <input type="image" src="new/login.jpg" align="middle" style="margin-right: 25px;" />
    </div>
    <div style="color: #000000; padding-top:3px; direction:rtl">
          </div>

  </div>
</form>

我似乎无法确定“输入”按钮的 ID,有什么想法吗?!或者也许还有其他方法可以调用“输入”按钮?

4

1 回答 1

0

您正在正确模拟单击事件,但我在 id="btn" 的表单上看不到任何输入。只需尝试将其添加到您的标记中,如下所示:

<input id="btn" type="image" src="new/login.jpg" align="middle" style="margin-right: 25px;" />

编辑:如果您无法访问源代码,则可以尝试以下操作:

var forms = webBrowser.Document.All.GetElementsByName("login");
var form = forms[forms.Count - 1];
if(form.TagName.Equals("FORM"))
{
   form.InvokeMember("Submit");
}
于 2013-07-13T22:47:34.107 回答