(转)利用WebBrowser自动填写网页上的表单

转载 fm https://blog.csdn.net/fengshielick/article/details/79363601

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制造事件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
表单填充和密码管理软件 表单自动填写 -填写表格从未如此简单! 自动填充表单是一个完整的解决方案,节省您的时间,自动填写网页表单自动密码输入(自动填充密码,登录),并提供一个简单的方法来保存网页形式的任何复杂。 下载表格填写和密码管理软件 表格自动填充支持Internet Explorer,MSN浏览器和傲游 “下载自动填充表格软件 为什么你需要表单自动填充 厌倦了填写您的姓名,地址,电子邮件地址等登记表格一遍又一遍吗? 厌倦了输入用户名和密码,同时访问Web邮件帐户,银帐户等? ? 多花时间填写表格,当您注册在不同的地点,开立账户等? ? 经常在网上购买吗? 厌倦了输入信用卡信息和结算信息吗? 想将它存放在安全的地方,它会自动填写? ? 你有没有忘记或遗失了你的密码? 寻找一个简单的解决方案填写表格吗? 尝试表单自动填充-自动表单填写和密码管理器! - 表格自动填充会帮你自动填写任何Web窗体。 - 只需点击鼠标,就可以保存和填写网页表单。 - 你将永远不会再次输入用户名和密码 - 表单自动填写软件,你可以安全地登录,只需按一下 是先进的自动填充表单自动填充表格软件,节省您的时间,当您填写在线表格,登录不同的网站,等表??格自动填充软件轻松地节省了您输入的信息,同时填写表格,并自动进入这个信息每次你需要填写表格。 自动自动填充表格软件,你将能够填写表格,只要按一下任何复杂的。 表单自动填充的主要特点 > 自动保存Web窗体 表格自动填充提供了一种简单的方式来保存网页形式的任何复杂性,登录名,密码。 使用热键可以简化过程中保存和填写网页表单。 >自动填写 表单 创建的窗体中的信息自动填写网页表单表单自动填充节省您的时间。 只需填写表格,连同所需的数据及表格自动填充将这些数据填入到您的网页表格。 - 使用表单自动填充,您可以填写表格,并填写和提交表单自动。 - “只填写空字段”选项,只填写空的web表单字段。 如果一些领域已经包含的信息,你需要将信息保存在这些领域中,这个选项是非常有用的。 因此,表单自动填写只有在空的表单字段中插入相应的信息。 - “获取完整的字段”选项的下拉列表。 使用此选项,您可以保存的完整列表“选择”类型“字段(S)中存储的信息,因此您可以轻松地选择所需的数据,从下拉列表脱机。 - 当,填充一个网页表单FormAutoFill自动选择的形式相匹配的网页的URL。 - 您可以轻松地设置在填充表格和提交资料的延迟。 - 在填写表格时,您可以选择“表单域连接”的规定:“由字段名和字段类型”或“字段顺序号和字段类型”,大大增加了数量,可以使用表格自动填充填充的形式。 - 对于每一个Web表单中,您可以设置默认的填充表单的动作,根据您的需要(“默认操作”,“不要求填写表格”,“不求回报”的填写及提交表格)。 - “批量模式”,填写并提交表格在一个周期为1。 现在,您可以简化您的工作 - 只需选择你想自动填写和提交,填写??并提交表格周期之间设置延迟组的形式。 FormAutoFill支持一个以上的提交按钮的形式。 所以,你可以很容易地选择提交按钮,你想同时申请“填写和提交”动 >自动填写 登录名和密码 使用表单自动填写登记表,登录窗口,等您可以轻松地自动填写网页上的登录名和密码, > 密码管理器 表格自动填充格式安全地存储您的密码,信用卡详细资料和其他敏感信息,往往需要同时填写网页表单。 > 高级情报安全 表单自动填充你可以安全地存储您的登录信息,密码,信用卡号码,在一个地方和任何其他机密信息。 表格自动填充保护您的表格从他人的信息 - 使用AES 256位密钥加密的所有信息进加密。 快速启动网站 表格自动填充让您登录到任何网站,只需点击一下。 只要按一下“开始”按钮,自动填写表单自动打开必要的网页,你可以很容易地填写和提交表格。 轻松管理表格和表格信息 表格自动填充,您可以创建许多不同的形式,轻松地管理表单信息。 “批次模式”,可以轻松地管理表单和表格信息。 “按名称排序形式”的功能。 > 高级密码生成器 先进的随机密码生成器来生成任何长度的密码。 表格自动填充使用通用的随机数发生器(URAND),的子程序生成随机密码。 通用的随机数发生器(URAND)是用于产生的时间间隔(0,1)中的均匀分布的浮点数的子程序。 URAND保证有一个完整长度的周期。 >“ 导出/导入功能 - 导出/导入表格数据库 - 轻松移动数据库之间不同版本的个人电脑和程序。 - 导入从CSV格式的文件中的信息。 现在,你可以很容易地导入从任何程序如Excel,Word等软件,允许将数据保存在CSV格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值