网页查询,请给提个编程思路
本帖最后由 needanothercoder 于 2013-06-14 11:46:09 编辑 网页查询,请给提个编程思路
想用VFP程序代替人工做到
1.在网页上输入学生的"考号"和"姓名"
2.得到含有查询结果的网页
3.从结果网页中分离出"考号,姓名,总分,语文,数学,外语,综合,备注"的值.
网址如下
http://www.lzk.hl.cn/ptgk/default.aspx
这个网页胡乱输入一个证号和名字,提交就会返回一个页面,虽然没有各项分数
如果太麻烦,不能给出代码,请给个思路
[解决办法]
Thisform.OleWebBrowse.Document.Forms("form1").submit.Click
改为
Thisform.OleWebBrowse.Document.Forms("form1").submit
[解决办法]
正好我前几天写了一个查询,我是在网上查询10万条记录
,自己用的一个小工具 没写注释 自己看看吧
功能 把数据库表的记录填充到网页并自动点提交,把查询结果保存到文本文件里面。方便查看。
Thisform.text1.Value="正在处理记录第 "+Str(Recno())+" 条记录请稍后!"
Goto Thisform.text4.Value
Do While Recno()<>Thisform.text5.Value
Thisform.Olecontrol1.Navigate("http://www.xxxxxxxxx.com/cx.php")
Wait "" Timeout 2
If Thisform.Olecontrol1.readyState<>4 && READYSTATE_COMPLETE
Wait "" Timeout 1
Endif
Thisform.Olecontrol1.Document.getElementById("status").Value = "1"
Thisform.Olecontrol1.Document.getElementById("cardSnStart").Value = txt_tk.column1
Thisform.Olecontrol1.Document.getElementById("cardSnEnd").Value = txt_tk.column2
Thisform.Olecontrol1.Document.accForm.Submit.Click()
Wait "" Timeout 2
If Thisform.Olecontrol1.readyState<>4 && READYSTATE_COMPLETE
Wait "" Timeout 1
Endif
thisform.text2.Value="已查"
If "暂时没有记录"$Thisform.Olecontrol1.Document.body.innerText
Thisform.Olecontrol1.GoBack()
Skip +1
Else
fzkh_tk1=Alltrim(txt_tk.column1)+","+Alltrim(txt_tk.column2)+","+Alltrim(txt_tk.column3)+","+Alltrim(txt_tk.column4)+","+Alltrim(txt_tk.column5)+","+Alltrim(txt_tk.column6)
fzkh_tk2="===================================================================="
fzkh_tk3=Thisform.Olecontrol1.Document.body.innerText
fzkh_tk4="***"
Strtofile(fzkh_tk4,'d:\2.txt',1)
Strtofile(fzkh_tk1,'d:\2.txt',1)
Strtofile(fzkh_tk4,'d:\2.txt',1)
Strtofile(fzkh_tk2,'d:\2.txt',1)
Strtofile(fzkh_tk4,'d:\2.txt',1)
Strtofile(fzkh_tk3,'d:\2.txt',1)
Thisform.Olecontrol1.Document.getElementById("cuc").Click()
Wait "" Timeout 0.5
Thisform.Olecontrol1.Document.getElementById("lock").Click()
Skip +1
EndifThisform.text3.Value=Thisform.Olecontrol1.Document.body.innerText
Skip +1
Enddo