批量网页录入数据 最近接了一项非常烦的工作,要求网上录入10000条数据,录入很烦,要录入近30项信息,大多数信息都是重复的。 感谢 ,果然容易上手,以下是脚本,请各位提宝贵意见 Plugin ProcessID=Web.Bind("wqm.exe") Delay 1000 If ProcessID=0 MessageBox "网页按键精灵没有运行" EndScript EndIf Plugin Web.Tips("脚本开始运行") Plugin Web.SetSize(1024,742) Plugin Web.ScrollTo(0,0) VBS dim x VBS dim cun VBS dim YYY VBS dim YYYY VBS dim YYYY1 VBS dim YYYY2 //设定从第11行起 VBS x = 11 Set xlApp = CreateObject("Excel.Application") xlApp.visible = True Set xlBook = xlApp.Workbooks.Open("d:\按键精灵\1234.xls") Set xlSheet = xlBook.ActiveSheet Rem denglu1 Plugin Web.Go("http://XXXXXX.XXX/") Delay 2000 Plugin DL1=Web.HtmlExists("name:UserPIN") If DL1<=0 Plugin Web.Tips("正在打开农村房屋抗震普查系统") Delay 1000 Goto denglu1 EndIf //输入密码 Rem denglu2 Plugin Web.HtmlInput("111111","name:UserPIN") Delay 500 Plugin Web.LeftClick(600,430) Delay 500 KeyPress 13,1 Delay 1000 //查找“普查表录入 Plugin DL2=Web.HtmlExists("tag:TD&txt: &frame:1") If DL2<=0 Plugin Web.Tips("正在登录,请稍侯!") Delay 1000 Goto denglu2 EndIf //根据行政村编号,设置点击的链接地址 If xlsheet.cells(2,2).value="1" or xlsheet.cells(2,2).value="01" VBS cun = "id:webfx-tree-object-6-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="1" or xlsheet.cells(2,2).value="02" VBS cun = "id:webfx-tree-object-7-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="3" or xlsheet.cells(2,2).value="03" VBS cun = "id:webfx-tree-object-8-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="4" or xlsheet.cells(2,2).value="04" VBS cun = "id:webfx-tree-object-9-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="5" or xlsheet.cells(2,2).value="05" VBS cun = "id:webfx-tree-object-10-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="6" or xlsheet.cells(2,2).value="06" VBS cun = "id:webfx-tree-object-11-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="7" or xlsheet.cells(2,2).value="07" VBS cun = "id:webfx-tree-object-12-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="8" or xlsheet.cells(2,2).value="08" VBS cun = "id:webfx-tree-object-13-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="9" or xlsheet.cells(2,2).value="09" VBS cun = "id:webfx-tree-object-14-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="10" VBS cun = "id:webfx-tree-object-15-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="11" VBS cun = "id:webfx-tree-object-16-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="12" VBS cun = "id:webfx-tree-object-17-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="13" VBS cun = "id:webfx-tree-object-18-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="14" VBS cun = "id:webfx-tree-object-19-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="15" VBS cun = "id:webfx-tree-object-20-anchor&frame:0" ElseIf xlsheet.cells(2,2).value="16" VBS cun = "id:webfx-tree-object-21-anchor&frame:0" EndIf //点击对应行政村 Rem denglu3 Plugin Web.LeftClick(53,87) Delay 1000 Plugin DL3=Web.HtmlExists("id:webfx-tree-object-6-anchor&frame:0") If DL3<=0 Plugin Web.Tips("正在点击普查登录") Delay 1000 Goto denglu3 EndIf Plugin Web.HtmlClick(cun) Delay 1000 //检查Excel文件中的标记,确定开始输入的行 Rem pd1 If xlsheet.cells(x,1).value="" MessageBox "用户姓名为空,可能已经输入完成" Goto tuichu EndIf If xlsheet.cells(x,32).value="" Goto luru Else x = x + 1 Goto pd1 EndIf YYYY=0 Rem luru //测试1:是否进入录入普查工作入户调查表 Rem ceshi1 Plugin L1=Web.HtmlExists("id:butnull&frame:1") If L1<1 and YYYY<30 Plugin Web.Tips("正在打开普查工作入户调查表录入界面") Delay 100 Plugin Web.LeftClick(741,118) Delay 300 YYYY = YYYY + 1 Goto ceshi1 EndIf Rem ceshia1 Plugin L1=Web.HtmlExists("id:butnull&frame:1") If L1<1 Plugin Web.Tips ("无法正常打开普查工作入户调查表录入界面,请等待10) Delay 1000 Plugin Web.HtmlClick(cun) Delay 2000 Plugin Web.LeftClick(741,118) Delay 3000 //在excel的第33列,标记错误提示“无法进入评定报告” xlApp.Cells(x,33).Value ="无法打开入户调查表" Goto ceshia1 EndIf YYYY = 0 L1="" //标记上一行已“评定报告” xlApp.Cells(x-1,38).Value =1 Plugin Web.Tips("正在录入普查工作入户调查表") //姓名 Plugin Web.HtmlInput(xlsheet.cells(x,1).value,"id:field_153928&frame:1") //常住人口 Plugin Web.HtmlInput(xlsheet.cells(x,2).value,"id:field_153986&frame:1") //队名 Plugin Web.HtmlInput(xlsheet.cells(x,3).value,"id:field_153930&frame:1") //几处住宅(默认1处) Plugin Web.HtmlInput(xlsheet.cells(x,4).value,"id:field_153948&frame:1") //面积 Plugin Web.HtmlInput(xlsheet.cells(x,5).value,"id:field_153949&frame:1") //建造年代 Plugin Web.HtmlCheck("true",xlsheet.cells(x,6).value) //结构类型 Plugin Web.HtmlCheck("true",xlsheet.cells(x,7).value) //基础类型 Plugin Web.HtmlCheck("true",xlsheet.cells(x,8).value) //屋盖形式 Plugin Web.HtmlCheck("true",xlsheet.cells(x,9).value) //屋面材料 Plugin Web.HtmlCheck("true",xlsheet.cells(x,10).value) //场地调查结论 Plugin Web.HtmlCheck("true",xlsheet.cells(x,11).value) //结构调查结论 Plugin Web.HtmlCheck("true",xlsheet.cells(x,12).value) //评定人员 Plugin Web.HtmlInput(xlsheet.cells(x,13).value,"id:field_153958&frame:1") //评定人员签字时间 Plugin Web.HtmlInput(xlsheet.cells(x,14).value,"id:field_153959&frame:1") //评定小组负责人 Plugin Web.HtmlInput(xlsheet.cells(x,15).value,"id:field_153960&frame:1") //评定小组负责人签字时间 Plugin Web.HtmlInput(xlsheet.cells(x,16).value,"id:field_153961&frame:1") //当地村委会负责人 Plugin Web.HtmlInput(xlsheet.cells(x,17).value,"id:field_153962&frame:1") //村委会负责人签字时间 Plugin Web.HtmlInput(xlsheet.cells(x,18).value,"id:field_153963&frame:1") //调查时间 Plugin Web.HtmlInput(xlsheet.cells(x,19).value,"id:field_153957&frame:1") //备注 Plugin Web.HtmlInput(xlsheet.cells(x,20).value,"id:field_163208&frame:1") //填表人 Plugin Web.HtmlInput(xlsheet.cells(x,21).value,"id:field_16348700&frame:1") //填表时间 Plugin Web.HtmlInput(xlsheet.cells(x,22).value,"id:field_16348701&frame:1") //点击提交 Plugin Web.HtmlClick("id:butnull&frame:1") Delay 500 //KeyPress 13,1 Delay 50 //Delay 500 YYYY1=0 Rem ceshi2 Plugin L2=Web.HtmlExists("id:butnull&frame:1") If L2>0 and YYYY1<30 Delay 100 Plugin Web.Tips("正在提交入户调查表") Delay 300 YYYY1 = YYYY1 + 1 Goto ceshi2 EndIf Rem ceshia2 Plugin L2=Web.HtmlExists("id:butnull&frame:1") If L2>0 Plugin Web.Tips ("提交没有正常完成,正在尝试重新点击提交,这有可能造成重复输入用户信息,完成后请认真核对") Delay 5000 Plugin Web.HtmlClick("id:butnull&frame:1") Delay 5000 Delay 5000 Plugin Web.HtmlClick(cun) Delay 5000 xlApp.Cells(x,34).Value ="无法正常提交入户调查表" Goto ceshia2 EndIf YYYY1 = 0 L2="" //测试1:是否进入录入普查工作入户调查表界面 YYY=0 Rem ceshi3 Plugin L3=Web.HtmlExists("id:subtn&frame:1") If L3<1 and YYY<30 Plugin Web.Tips("正在进入抗震性能评定报告界面") //KeyPress 13,1 Delay 100 Plugin Web.LeftClick(946,265) Delay 300 YYY = YYY + 1 Goto ceshi3 EndIf Rem ceshia3 Plugin L3=Web.HtmlExists("id:subtn&frame:1") If L3<1 Plugin Web.Tips ("可能无法进入评定报告界面,请等待10分钟,无法录入则按F12停止") Delay 2000 Plugin Web.HtmlClick(cun) Delay 8000 Plugin Web.LeftClick(946,265) Delay 3000 //在excel的第35列,标记错误提示“无法进入评定报告” xlApp.Cells(x,35).Value ="无法进入评定报告" Goto ceshia3 EndIf YYY = 0 L3="" Rem baogao //检查户主姓名是否相同,相同则继续录入,否则提示错误退出 Plugin Txt1=Web.HtmlGet("value","id:field_159951&frame:1") If Txt1=xlsheet.cells(x,1).value txt1="" Plugin Web.Tips("正在录入评定报告") //评定机构 Plugin Web.HtmlInput(xlsheet.cells(x,23).value,"id:field_159954&frame:1") //建成时间 Plugin Web.HtmlInput(xlsheet.cells(x,24).value,"id:field_159953&frame:1") //评定时间 Plugin Web.HtmlInput(xlsheet.cells(x,25).value,"id:field_159956&frame:1") //组成部分检查结果 Plugin Web.HtmlSelect(xlsheet.cells(x,26).value,"id:field_159959&frame:1") Plugin Web.HtmlSelect(xlsheet.cells(x,27).value,"id:field_159960&frame:1") Plugin Web.HtmlSelect(xlsheet.cells(x,28).value,"id:field_159961&frame:1") Plugin Web.HtmlSelect(xlsheet.cells(x,29).value,"id:field_159962&frame:1") Plugin Web.HtmlInput(xlsheet.cells(x,30).value,"id:field_159964&frame:1") //备注 Plugin Web.HtmlInput(xlsheet.cells(x,31).value,"id:field_159965&frame:1") //读取编号 Plugin Txt2=Web.HtmlGet("value","id:field_159948&frame:1") Delay 100 //编号写入本地电子表格 xlApp.Cells(x,32).Value = txt2 txt2="" //点击提交 Plugin Web.HtmlClick("id:subtn&frame:1") Delay 500 //KeyPress 13,1 Delay 50 YYYY2=0 //测试:是否入户调查表已经提交 Rem ceshi4 Plugin L4=Web.HtmlExists("id:subtn&frame:1") If L4>0 and YYYY2<30 //如果弹出确认窗口,点击回车 //KeyPress 13,1 Delay 100 Plugin Web.Tips("正在提交评定报告") Delay 300 YYYY2 = YYYY2 + 1 Goto ceshi4 EndIf Rem ceshia4 Plugin L4=Web.HtmlExists("id:subtn&frame:1") If L4>0 Plugin Web.Tips ("评定报告提交没有正常完成") Delay 5000 Plugin Web.HtmlClick("id:subtn&frame:1") Delay 5000 //KeyPress 13,1 Delay 5000 Plugin Web.HtmlClick(cun) Delay 5000 //在excel的第36列,标记错误提示“无法正常提交评定报告” xlApp.Cells(x,36).Value ="无法正常提交评定报告" Goto ceshia4 EndIf YYYY2 = 0 L4="" Else Plugin Web.Tips("录入人员姓名和评定报告姓名不符,请人工核对后Y继续,按N退出脚本") WaitKey key If key = 13 Goto baogao Else Goto tuichu EndIf EndIf Delay 100 x = x + 1 Goto pd1 Rem tuichu Sub OnScriptExit xlBook.Close (True) Set xlApp = Nothing Plugin Web.Tips("脚本停止运行") Return |
|