做一个网页的自动注册软件,需要模拟点击注册,查看网页的源文件,注册的图片很简单:      
  <div>
          <input type="image" value="注 册" name="regsubmit" src="/img/common/reg_btn.jpg">
  </div>
c#代码这样貌似不行哦:
HtmlElement btnSubmit = webBrowser2.Document.All["regsubmit"];
btnSubmit.InvokeMember("onclick");有什么办法可以模拟点击了吗?

解决方案 »

  1.   

    你自己再确定一下,到底是onclick还是click?
      

  2.   

    你这个是不是有frame的啊,要是有的话,就不同了
      

  3.   

          <form action="/signup/profile" method="post" onsubmit="if(!this.rpa_rule_check.checked) return false;">
            <div>
              <input type="image" value="注 册" name="regsubmit" src="/img/common/reg_btn.jpg">
            </div>
          </form>
      

  4.   

    if(!this.rpa_rule_check.checked) return false;"
    估计是被这段话阻断了,你先设置this.rpa_rule_check.checked为true
      

  5.   

              <input name="rpa_rule_check" type="checkbox" value="1" checked id="rpa_rule_agreement" />
              <label for="rpa_rule_agreement">我已阅读并接受</label>
    这个默认是选中的
      

  6.   

    找到这段代码的Post,就是提交地址啦
      

  7.   

    name 需要从 byNames里获取
      

  8.   

    看下 HttpClient 模拟提交就行了
      

  9.   

    HttpRequest请求,找到post提交的参数,配置上去就可以提交了。
      

  10.   

     模拟HTML表单提交
      HttpClient client=new HttpClient(url);
      client.PostingData.Add(fieldName1, filedValue1);//这两个参数怎么填啊。网页源文件里面都没有post参数啊。
      

  11.   

    没有就空啊
    比如需要传入用户名密码时大概是这样
    client.PostingData.Add("inputUerName", "amu0528");//传入用户名
    client.PostingData.Add("inputPassWord", "password");//传入密码
      

  12.   

    document.getElementById("<%=btnSubmit.ClientID %>").click();
    这样行不?
      

  13.   

    用javascript操作吗?找到form的ID,然后document.getElementById('formId').submit() ?
      

  14.   

    你是想做一个WINFORM程序么?
    如果是:用webbrowser,遍历所有htmlelement,再点击就行了,
      

  15.   

    HtmlElement btnAdd = webBrowser1.Document.GetElementById("postsubmit").FirstChild;
                        btnAdd.InvokeMember("Click");
      

  16.   

    btnSubmit.InvokeMember("click");
    或者
    btnSubmit.InvokeMember("Click");