如何模拟点击网页提交按钮

wrzero 2013-03-10 11:21:14
做一个网页的自动注册软件,需要模拟点击注册,查看网页的源文件,注册的图片很简单:
<div>
<input type="image" value="注 册" name="regsubmit" src="/img/common/reg_btn.jpg">
</div>
c#代码这样貌似不行哦:
HtmlElement btnSubmit = webBrowser2.Document.All["regsubmit"];
btnSubmit.InvokeMember("onclick");

有什么办法可以模拟点击了吗?
...全文
688 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
btnSubmit.InvokeMember("click"); 或者 btnSubmit.InvokeMember("Click");
newhaha 2013-03-13
  • 打赏
  • 举报
回复
HtmlElement btnAdd = webBrowser1.Document.GetElementById("postsubmit").FirstChild; btnAdd.InvokeMember("Click");
xiaojunfei3 2013-03-13
  • 打赏
  • 举报
回复
你是想做一个WINFORM程序么? 如果是:用webbrowser,遍历所有htmlelement,再点击就行了,
ktei2008 2013-03-13
  • 打赏
  • 举报
回复
用javascript操作吗?找到form的ID,然后document.getElementById('formId').submit() ?
老猫五号 2013-03-12
  • 打赏
  • 举报
回复
document.getElementById("<%=btnSubmit.ClientID %>").click(); 这样行不?
游戏人间 2013-03-12
  • 打赏
  • 举报
回复
btnSubmit.InvokeMember("click");
bbwfang 2013-03-12
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
你自己再确定一下,到底是onclick还是click?
正解
amu0528 2013-03-12
  • 打赏
  • 举报
回复
没有就空啊 比如需要传入用户名密码时大概是这样 client.PostingData.Add("inputUerName", "amu0528");//传入用户名 client.PostingData.Add("inputPassWord", "password");//传入密码
lxllb8 2013-03-11
  • 打赏
  • 举报
回复
HttpRequest请求,找到post提交的参数,配置上去就可以提交了。
wrzero 2013-03-11
  • 打赏
  • 举报
回复
引用 11 楼 amu0528 的回复:
看下 HttpClient 模拟提交就行了
 模拟HTML表单提交   HttpClient client=new HttpClient(url);   client.PostingData.Add(fieldName1, filedValue1);//这两个参数怎么填啊。网页源文件里面都没有post参数啊。
amu0528 2013-03-11
  • 打赏
  • 举报
回复
看下 HttpClient 模拟提交就行了
henjiandan 2013-03-11
  • 打赏
  • 举报
回复
name 需要从 byNames里获取
  • 打赏
  • 举报
回复
你自己再确定一下,到底是onclick还是click?
xtiu77 2013-03-10
  • 打赏
  • 举报
回复
引用 1 楼 Mackz 的回复:
你要模拟的是“提交数据”这个行为,而不是“点击”这个动作。所以,你找找它这个点击行为的代码,直接调用就是了。
正解............
菜牛 2013-03-10
  • 打赏
  • 举报
回复
你要模拟的是“提交数据”这个行为,而不是“点击”这个动作。所以,你找找它这个点击行为的代码,直接调用就是了。
hhsacsb 2013-03-10
  • 打赏
  • 举报
回复
找到这段代码的Post,就是提交地址啦
wrzero 2013-03-10
  • 打赏
  • 举报
回复
引用 7 楼 KingWheat2010 的回复:
if(!this.rpa_rule_check.checked) return false;" 估计是被这段话阻断了,你先设置this.rpa_rule_check.checked为true
<input name="rpa_rule_check" type="checkbox" value="1" checked id="rpa_rule_agreement" /> <label for="rpa_rule_agreement">我已阅读并接受</label> 这个默认是选中的。。。
Nenulae 2013-03-10
  • 打赏
  • 举报
回复
if(!this.rpa_rule_check.checked) return false;" 估计是被这段话阻断了,你先设置this.rpa_rule_check.checked为true
wrzero 2013-03-10
  • 打赏
  • 举报
回复
引用 5 楼 oBenShanHou 的回复:
你这个是不是有frame的啊,要是有的话,就不同了
<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>
笨山猴 2013-03-10
  • 打赏
  • 举报
回复
你这个是不是有frame的啊,要是有的话,就不同了
加载更多回复(1)

111,111

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧