[已解决] ie表单提交问题
本帖最后由 iaw 于 2009-7-18 21:48 编辑<tr><td bgcolor=lightcyan align=center>
<form method="post" action="/cgi-bin/noprice.cgi"onSubmit="return input_check(this)">
<table bgcolor="snow" border="1" rules="both" cellpadding="7" cellspacing="0"
bordercolorlight=silver bordercolordark=black width=540>
<tr><td nowrap bgcolor="#EAEAEA" align="left">1. (Name)</td>
<td align="left"> <input name="name" type=text size="20"></td></tr><tr><td align="left" nowrap bgcolor="#EAEAEA">2. (E-mail)</td>
<td align="left">
<input name="mail" type=text size="32">
</td></tr>
<tr> <td align="left" nowrap bgcolor="#EAEAEA">3. (Country)</td>
<td align="left">
<select NAME="country">
<option value="Taiwan"> (Taiwan)
<option value="USA"> (USA)
<option value="Japan"> (Japan)
<option value="Asia"> (Asia)
<option value="Europe"> (Europe)
<option value="other"> (other)
</select>
</td></tr>
</table>
<p><input type="submit" value="(Send)">
<input type="reset" value="(Cancel)">
</td></tr></form>
这个表单应该提交呢? 给个网址吧 http://www.pptp.co.kr/test.cgi
这个网站 这个用不用选啊. 국가/지역(Country)
该死的韩语,会乱码的
脚本不一定会认韩语,都成问号了,没法选。。。
韩语包被我扔了,我很讨厌韩国,日本!
我再试试 搞定,源码如下:#include<IE.au3>
$oIE = _IECreate("http://www.pptp.co.kr/test.cgi")
$ID = _IEGetObjByName ($oIE, "name")
$ID.value = "ABCD"
$PW= _IEGetObjByName ($oIE, "mail")
$PW.value = "123456"
$IP= _IEGetObjByName ($oIE, "country")
$IP.value = "Beijing"
$oInputs = _IETagNameGetCollection ($oIE, "INPUT")
For $oInput In $oInputs
If $oInput.type = "submit" Then
_IEAction($oInput,"click")
EndIf
Next关于11行的"Beijing",看网页脚本就知道了
给出来:
<SELECT name=country> <OPTION selected value=Korea> ????(ROK) <OPTION value=Beijing> 中國 北京(??) <OPTION value=Sanghai> 中國 上海(??) <OPTION value=Hongkong> 中國 香港(??) <OPTION value=Chunjin> 中國 天津(??) <OPTION value=Chungqing> 中國 重慶(??) <OPTION value=Heukryoungkang> 中國 黑龍江省(????)<OPTION value=Kilrim> 中國 吉林省(???) <OPTION value=Yonyung> 中國 遼寧省(???) <OPTION value=Habuk> 中國 河北省(???) <OPTION value=Sandong> 中國 山東省(???) <OPTION value=Kangso> 中國 江蘇省(???) <OPTION value=Jeolkang> 中國 浙江(???)省 <OPTION value=Bogkun> 中國 福建省(???) <OPTION value=Kwangdong> 中國 廣東省(???) <OPTION value=China-other> 中國 其他 省(?? ?) <OPTION value=Taiwan> ? ?(Taiwan) <OPTION value=USA> ? ?(USA) <OPTION value=Japan> ? ?(Japan) <OPTION value=Asia> ???(Asia) <OPTION value=Europe> ? ?(Europe)<OPTION value=other> ?? ??(other) </OPTION></SELECT>
#include <IE.au3>
;创建对象
$oIE = _IECreate('http://www.pptp.co.kr/test.cgi')
;把页面内容读出来
$Html = _IEBodyReadHTML($oIE)
;给表单加个name属性
$Html = StringReplace($Html, '<FORM', '<FORM name="sss"')
;写回去
_IEBodyWriteHTML($oIE, $Html)
;取得from对象
$oForm = _IEFormGetObjByName($oIE, 'sss')
;写name
$Name = _IEFormElementGetObjByName ($oForm, "name")
_IEFormElementSetValue($Name, "aaaaaaa")
;写mail
$Mail = _IEFormElementGetObjByName ($oForm, "mail")
_IEFormElementSetValue($Mail, "a@a.com")
...可以了 但是 select不知道为什么我这里没办法选- - orz...
form没名字...太缺德了... 搞定,源码如下:#include
$oIE = _IECreate("http://www.pptp.co.kr/test.cgi")
$ID = _IEGetObjByName ($oIE, "name")
$ID.value = "ABCD"
$PW= _IEGetObjByName ($oIE, "mail")
$PW.value = "123456"
...
kn007 发表于 2009-7-18 18:10 http://www.autoitx.com/images/common/back.gif
...= = 按值选...明白了 :face (10):其实还有一个更加猥琐的办法 重写这个页面的源码 那样只需要5行就可以解决了 =v= 楼上的,还需努力啊,不能因为 form没名字 就生气啊!? :face (10):其实还有一个更加猥琐的办法 重写这个页面的源码 那样只需要5行就可以解决了 =v=
rolaka 发表于 2009-7-18 18:15 http://www.autoitx.com/images/common/back.gif
又出馊主意:face (34): =v= 这都是可以的嘛 我又没说不行,我只是说你出馊主意!?:face (31): 我又没说不行,我只是说你出馊主意!?:face (31):
kn007 发表于 2009-7-18 18:33 http://www.autoitx.com/images/common/back.gif
自己构建一个表单提交的话 那个绝对的是更加方便把
好像我们在版聊 版聊啊,好像是的,不过我好像没事啊,毕竟我这官还是不小的,嘿嘿!
开玩笑,不聊了,下了 对了,另外我很赞同你所说的自己构建一个表单
页:
[1]
2