利用WebBrowser自动填写网页上的表单
2018-02-24 17:03
267 查看
procedure TForm1.db_writeClick(Sender: TObject); var o:oleVariant; err,js:string; i:integer; const mz:array[1..51] of string=('汉族','蒙古族','回族','藏族','维吾尔族','苗族','彝族','壮族','布依族', '朝鲜族','满族','侗族','瑶族','白族','土家族','哈尼族','哈萨克族','傣族','黎族','傈僳族','佤族', '畲族','高山族','拉祜族','水族','东乡族','纳西族','景颇族','柯尔克孜族','土族','达斡尔族','仫佬族', '锡伯族','阿昌族','普米族','塔吉克族','怒族','乌孜别克族','俄罗斯族','鄂温克族','德昂族','保安族', '裕固族','京族','塔塔尔族','独龙族','鄂伦春族','赫哲族','门巴族','珞巴族','基诺族'); begin {o:=WebBrowser1.OleObject.document.all.item('loginname',0); o.value := '370212B100010022'; o:=WebBrowser1.OleObject.document.all.item('password',0); o.value := 'mw@123'; } //健康档案 try if db_addcode.Text<>'' then begin //街道 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.getelementbyID('dJd'); o.value:=copy(db_addcode.Text,1,6)+copy(db_addcode.Text,8,2); //利用纸质编码,选择街道 o.fireEvent('onchange'); end; //写入姓名 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dXm',0); o.value := d[3]; //写入性别 男1 女2 未知性别0 不祥9 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dXb',0); if d[4]='男' then o.value:=1; if d[4]='女' then o.value:=2; if d[4]='' then o.value:=0; if (d[4]<>'') and (d[4]<>'男') and (d[4]<>'女') then o.value:=9; if fun.ValidatePID(d[6])='' then begin //写入证件类型 身份证1 护照2 军官证3 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dZjlx',0); o.value := 1; //写入身份证号 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dSfzh',0); o.value := d[6]; end else begin //写入护照号 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dZjlx',0); o.value := 2; o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dZjhqt',0); o.value := d[6]; err:=err+'/证件号'; end; //写入出生日期 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dCsrq',0); o.value := d[35]; //联系电话 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dLxdh',0); o.value := d[37]; //常住类型 本地户籍常住1 本地户籍不常住2 外地户籍常住3 不祥4 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dJzzk',0); o.value := 1; //民族 if pos('族',d[34])<=0 then //如果只写名字,加族 d[34]:=d[34]+'族'; o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dMz',0); for I := 1 to 51 do //遍历民族 begin if d[34]=mz[i] then begin o.value := i; //设置其他民族 continue; end; end; //职业 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dZy',0); o.value:=11; //文化程度 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dWhcd',0); o.value:=90; //劳动强度 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('shxg.dLdqd',0); o.value:=1; //婚姻状况 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dHyzk',0); o.value:=10; //地址 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dXxdz',0); o.value:=d[36]; //费用 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dYlfzflx',3); o.checked:=true; o.fireEvent('onchange'); //调查时间 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('d11',0); o.value:=FormatdateTime('YYYY-MM-DD',now()); //联系人电话 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dLxrdh',0); o.value:=d[41]; //联系人姓名 o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.all.item('dLxrxm',0); o.value:=d[38]; //居委会 if db_addcode.text<>'' then begin o := WebBrowser1.oleobject.document.documentelement.document.frames.item(0).document.getelementbyID('dJwh'); if err='' then showmessage('填写完成,请核对后保存!') //做延迟处理 else showmessage('填写完成,发现问题:'+err); //做延迟处理 o.value:=copy(db_addcode.Text,1,6)+copy(db_addcode.Text,8,length(db_addcode.Text)); o.fireEvent('onchange'); //触发onchange事件,调用js代码 end; except showmessage('写入表单有误,请检查页面是否为建档页面!'); end; end;以上例程列举了网页上常用控件的控制方法,主要思路就是获取ID,或者下拉菜单中的顺序,进行赋值。使用fireevent制造事件。
相关文章推荐
- vc遍历网页表单并自动填写提交
- C#技巧:网页表单自动填写技术(gmail为例)
- vc遍历网页表单并自动填写提交
- 让一个网页打开的同时自动为另一个网页自动填写表单并提交
- Delphi7 Webbrowser制作网页表单自动提交器按步分析(1)
- vc遍历网页表单并自动填写提交
- 火狐浏览器Firefox 如何使用iMacros 自动填写网页表单
- vc遍历网页表单并自动填写提交
- Delphi7 Webbrowser制作网页表单自动提交器按步分析(1)
- 自动填写网页表单
- 网页操作之自动填写表单
- 关于c#的webbrows控件自动填写表单并获取提交后的网页内容
- 用VB自动填写网页表单
- Delphi7 Webbrowser制作网页表单自动提交器按步分析(1)
- 网页表单自动填写技术(gmail为例)
- 自动填写网页表单
- C# WinForm webBrowser控件使用实例,自动填写表单和提交
- WebBrowser控件表单(form)的自动填写和提交
- WebBrowser控件表单(form)的自动填写和提交
- C#网页表单自动填写实现原理