回 帖 发 新 帖 刷新版面

主题:要求使用VFP 9.0 实现以下动作



要求使用VFP 9.0 实现以下动作:

1  自动登录 http://www.lzk.hl.cn/ptgk/default.asp
2  在"准考证号"处,自动填入"1234567890"
3  在"考生姓名"处,自动填入"张三"
4  程序自动点击"查询"

这个过程,我已经研究一周了.到现在为止,还没有结果.

请高手赐教!!!

回复列表 (共6个回复)

沙发

http://www.aspx1.com/h/2009/1113/2310.html

http://www.tzwhx.com/newOperate/html/1/12/121/8043.html

这些是网上找到的,不过是C#的,估计VF的不好找,但是原理是一样的。

基本思路是这样的:VF表单中可以嵌入一个IE的activex控件,利用它打开楼主那个网页,根据事先分析网页代码得到的准考证号和考生姓名两处位置(这个位置通过IE的activex控件进行引用)使用程序设置其值,点击查询那个可以分析原来点击了是如何post的,直接POST就行了

再具体的也别问了,我也没有做过这种程序

板凳

http://bbs.pfan.cn/post-237442-2.html
这个比较接近你的要求了

3 楼

http://www.meizvfp.com/bbs/dispbbs.asp?BoardID=2&replyID=35647&id=85031&skin=0

这个好象是最接近的填表的东东了,只差提交部分了

下面是包含了提交的(就是有一个问题:没有判断网页下载是否完成)
ox=createobject('INTERNETEXPLORER.APPLICATION')
url="http://www.ancc.org.cn/Service/Tools/FirmAffiche_Query.aspx"
ox.visible=.t.
ox.Navigate("&url")
DO WHILE ox.ReadyState<>4
doevents
ENDDO
*ox.document.form1.Txt_code.value="3302"
ox.document.form1.Txt_name.value="宁波"
ox.document.form1.DDL_Date.value="4"
ox.document.form1.Btn_Query.click 

4 楼

我已经在BCCN回复LZ了,就下面这样:

clear
loInternet=Createobject("MSXML2.ServerXMLHTTP")
loInternet.Open([POST],[http://www.lzk.hl.cn/ptgk/default.asp])
loInternet.setRequestHeader([Content-Type],[application/x-www-form-urlencoded]) &&数据格式要指定,否则没有结果。
loInternet.Send('zkzh=0123789&ksxm=%D5%C5%C8%FD') &&张三转为URL编码提交。
If loInternet.READYSTATE = 4 .And. loInternet.Status = 200
?STRCONV(STRCONV(loInternet.responseBody,9),11)
ENDIF

&&没有正确准考证号和姓名,无法给你验证。

5 楼

3楼的答案,符合我的要求

6 楼

共在4个论坛里,问了同一个问题.

结果,仅在此论坛里得到了满意的答案.

在此,再一次感谢各位老师,再一次祝愿"编程爱好者论坛"越办越好!

我来回复

您尚未登录,请登录后再回复。点此登录或注册