社区
网络及通讯开发
帖子详情
如何自动填写网页表单,并自动提交
a0910472
2013-05-11 05:07:27
我的想法是完全模拟人工操作,但是遇到一个困难:怎样快速定位网页输入框。另外,这种模拟人工操作的方法效率较低。求一个效率高一点的方法
...全文
1352
3
打赏
收藏
如何自动填写网页表单,并自动提交
我的想法是完全模拟人工操作,但是遇到一个困难:怎样快速定位网页输入框。另外,这种模拟人工操作的方法效率较低。求一个效率高一点的方法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我不懂电脑
2013-05-13
打赏
举报
回复
这个用c#很容易实现,用BCB的话要调用ihtml api比较复杂,给你个c#的资料 。 在.Net 2.0中,整个HTML文档以及其包含的各个HTML元素,都和一个个HtmlDocument、HtmlElement之类的.Net对象对应。因此只要找到这个“关闭”按钮对应的HtmlElement对象,为其click事件添加Event Handler即可。 HTML code <html><body><input type="button" id="btnClose" value="关闭"/></body></html> 那么找出该按钮并为之添加Event Handler的代码如下: C# codeHtmlDocument htmlDoc = webBrowser.Document; HtmlElement btnElement = htmlDoc.All["btnClose"]; if (btnElement !=null) { btnElement.click+=new HtmlElementEventHandler(HtmlBtnClose_Click); } 其中 HtmlBtnClose_Click是按下Web按钮时的Event Handler。 很简单吧?那么稍稍高级一点的——我们都知道一个HTML元素可能有很多各种各样的事件,而HtmlElement这个类只给出最常用、共通的几 个。那么,如何响应其他事件呢?这也很简单,只需要调用HtmlElement的AttachEventHandler就可以了: C# codebtnElement.AttachEventHandler("onclick", new EventHandler(HtmlBtnClose_Click)); //这一句等价于上面的 btnElement.click += new HtmlElementEventHandler(HtmlBtnClose_Click); 对于其他事件,把"onclick"换成该事件的名字就可以了。例如: C# code formElement.AttachEventHandler("onsubmit", new EventHandler(HtmlForm_Submit)); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 要使我们的WebBrowser具有自动填表、甚至自动提交的功能,并不困难。 假设有一个最简单的登录页面,输入用户名密码,点“登录”按钮即可登录。已知用户名输入框的id(或Name,下同)是username,密码输入 框的id是password,“登录”按钮的id是submitbutton,那么我们只需要在webBrowser的 DocumentCompleted事件中使用下面的代码即可: C# codeHtmlElement btnSubmit = webBrowser.Document.All["submitbutton"]; HtmlElement tbUserid = webBrowser.Document.All["username"]; HtmlElement tbPasswd = webBrowser.Document.All["password"]; if (tbUserid ==null|| tbPasswd ==null|| btnSubmit ==null) return; tbUserid.SetAttribute("value", "smalldust"); tbPasswd.SetAttribute("value", "12345678"); btnSubmit.InvokeMember("click"); 这里我们用SetAttribute来设置文本框的“value”属性,用InvokeMember来调用了按钮的“click” 方法。因为不同的Html元素,其拥有的属性和方法也不尽相同,所以.Net 2.0提供了统一的HtmlElement来概括各种Html元素的同时,提供了这两个方法以调用元素特有的功能。关于各种Html元素的属性和方法一 览,可以查阅MSDN的DHTML Reference。 ※关于表单的提交,的确还有另一种方法就是获取form元素而不是button,并用form元素的 submit方法: C# codeHtmlElement formLogin = webBrowser.Document.Forms["loginForm"]; //……formLogin.InvokeMember("submit");本文之所以没有推荐这种方法,是因为现在的网页,很多都在submit按钮上添加onclick事件,以对提交的内容做最基本的验证。如果直接使用form的submit方法,这些验证代码就得不到执行,有可能会引起错误
dataxdata
2013-05-12
打赏
举报
回复
找HTML代码中的form、input之类,把表单的结构提取出来,然后自己生成一个GET或POST请求发给服务器就行了
laqhelen
2013-05-11
打赏
举报
回复
实现HTTP协议,这有HTTP的例子WebClnt,你看看: http://download.csdn.net/detail/geoff08zhang/4571358
表单
自动
填写
,
网页
自动
提交
工具
模拟人工
提交
网页
表单
操作,同时监控
提交
结果变化并报警提示或
自动
处理报警动作。可广泛用于注册
表单
、登陆
表单
、信息添加修改
表单
提交
。 1、支持多任务多操作连续
提交
,实现无人值守。 2、支持通过多代理服务器访问并
提交
3、支持
自动
获取
填写
表单
项 4、
自动
填写
内容可以是固定值、从字典文件中读取的内容或验证图片的识别结果。 5、支持按钮
提交
、
表单
提交
以及自定义脚本
提交
。 6、批量导入相似页面,实现顺序
提交
或随机
提交
7、实现
网页
整体监控、HTML元素监控、源代码监控。 8、多种报警处理方式:声音报警、弹窗报警、触发新任务或第三方程序 9、支持定时任务,程序可后台隐藏执行
网页
表单
自动
填写
网页
表单
自动
填写
web
自动
化-Frame
表单
&鼠标操作
本课程主要讲解web
自动
化中frame
表单
与鼠标的操作,主要内容如下:1. frame
表单
介绍2. frame
表单
切换3.
表单
切换案例4. 鼠标操作5. 鼠标操作案例
关于c#的webbrows控件
自动
填写
表单
并获取
提交
后的
网页
内容
由于项目需要,需要获取
网页
内容并
自动
填写
表单
,所以决定使用webbrowser控件。经过笔者一番百度,我再一次觉得,网上的内容少之又少,大多数都是
提交
完
表单
就没事了,那获取
提交
表单
后怎么知道成没成功啊?怎么获取登录成功后的页面呢?所以我在这里讲的全一点: 业务流程大体是: 1.获取一个页面的html代码 2.从中找出type不是submit的标签,
填写
内容 3.找到所有type是submi
python批量
自动
填写
网页
表单
_Python爬虫
自动
填写
调查表
作者:Harkerbest声明:本文章为原创文章,本文章永久链接:https://harkerbest.kafuu.net.cn/?p=163,转载请注明原文地址,盗版必究!!!警告:本文章仅用于技术交流,禁止将本文章内容用于违法犯罪活动,违者后果自负!!!本教程也可用于Python requests使用post
提交
表单
的教学随着网络化的普及,网络调查表在生活中随处可见,但是有些时候,我们每天都需...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章