找回密码
 加入
搜索
查看: 12619|回复: 21

[IE类操作] 如何提交网页表单?

 火.. [复制链接]
发表于 2011-12-21 21:56:24 | 显示全部楼层 |阅读模式
本帖最后由 blue_dvd 于 2011-12-21 22:00 编辑

比如126邮箱的登录源码如下
<FORM id=login126 class=bd onsubmit="return fOnSubmit();" method=post name=form target=frameforlogin><INPUT id=savelogin value=0 type=hidden name=savelogin> <INPUT id=userName value=0 type=hidden name=username> <INPUT value=http://mail.126.com/errorpage/err_126.htm type=hidden name=url2> <!-- 用户名 -->

<DIV id=uName class=item><LABEL class=name for=idInput>帐&nbsp;&nbsp; 号</LABEL><INPUT id=idInput class="ipt ipt-t no-ime" tabIndex=1 value="" type=text name=user autocomplete="on"><B class="ico ico-at126">@126.com</B> </DIV><!-- 提示 -->

<DIV style="DISPLAY: block" id=mobtips class=tips>

<DIV class=tips-inner><B class="ico ico-upArr"></B><A id=mobtips_close class="ico ico-close" title=关闭 onclick=gMobileNumMail.forbidden() href="javascript:void(0);"></A>

<P id=mobtips_txt>手机号码也可登录,<A href="http://e.mail.163.com/mobilemail/home.do?from=mail163">免费激活</A></P></DIV></DIV><!-- 密码 -->

<DIV class=item><LABEL class=name for=pwdInput>密&nbsp;&nbsp; 码</LABEL><INPUT id=pwdInput class="ipt ipt-t no-ime" tabIndex=2 value="" type=password name=password><A tabIndex=7 href="http://reg.163.com/RecoverPasswd1.shtml?from=mail126" target=_blank>忘记密码?</A> </DIV><!-- 版本 -->
利用表单的方法可以登陆吗?
#include "ie.au3"
$oIE = _IECreate("http://www.126.com/")
        $oForm = _IEFormGetObjByName($oIE, "form")
        $username = _IEGetObjById($oIE, "userName")
        $username.value = 'makerbob' 
        $password = _IEGetObjById($oIE, "pwdInput")
        $password.value = 'makerbob'         
_IEFormSubmit ($oForm)
为什么不会自动进入?
如果源码中没有form关键字的表单,也能提交吗?
发表于 2011-12-22 12:34:57 | 显示全部楼层
#include <IE.au3>

$oIE = _IECreate("http://mail.126.com/",0,1,1,1 )

_IELoadWait ($oIE)

$UserName = _IEGetObjById ($oIE, "username")
    If IsObj($UserName) Then $UserName.value = "你的用户名"
$PassWord = _IEGetObjById ($oIE, "password")   
    If IsObj($PassWord) Then $PassWord.value = "你的密码"
$submit =  _IEGetObjByName ($oIE, "登录邮箱")
    If IsObj($submit) Then $submit.click
 楼主| 发表于 2011-12-22 15:40:24 | 显示全部楼层
楼上的高手,感觉并不是递交表单的方法,是点击按钮的方法!不过也谢谢!
 楼主| 发表于 2011-12-22 20:44:31 | 显示全部楼层
还是想知道到底怎样才能以表单的形式登陆?或者给个实例!
发表于 2011-12-25 12:42:19 | 显示全部楼层
如果有等效功能,为什么一定要拘束于某个指定思路呢?
2楼是本人实际运行的脚本。
特别说明:俺等都只是菜鸟。
发表于 2011-12-25 22:47:30 | 显示全部楼层
用click 可以响应按钮的onclick事件
 楼主| 发表于 2011-12-25 22:50:40 | 显示全部楼层
看过一个高手的登录
$URL= "http://jxlx.xxt.cn/login/login.action?"
$login="userName="&$name&"&password="&$password&""
_IECreate($URL & $login,0,1,0,1)
Exit
就是学不会!
发表于 2011-12-26 23:24:54 | 显示全部楼层
7楼脚本思路,只限于特定的网页,一般不通用。不过QQ登录好像是适用的。
 楼主| 发表于 2011-12-27 08:33:55 | 显示全部楼层
7楼脚本思路,只限于特定的网页,一般不通用。不过QQ登录好像是适用的。
楼上风云 发表于 2011-12-26 23:24

那post是否通用?
发表于 2011-12-27 08:38:31 | 显示全部楼层
确切地说,任何方法都会有一定的适用限制,即条件限制。
这不,俺就遇到了一个难题吗?
    “大家一起来解决这个表单自动登录的处理”
发表于 2012-1-14 00:03:30 | 显示全部楼层
学习下表单自动登录
发表于 2012-1-14 12:16:34 | 显示全部楼层
用click 可以响应按钮的onclick事件
发表于 2012-1-15 00:48:09 | 显示全部楼层
表单一般post xml会比较方便 比较快
发表于 2012-1-17 19:12:06 | 显示全部楼层
#include <IE.au3>

$oIE = _IECreate("http://mail.126.com/",0,1,1,1 )

_IELoadWait ($oIE)

$UserName = _IEGetObjById ($oIE, "idInput")
    If IsObj($UserName) Then $UserName.value = "你的用户名"
$PassWord = _IEGetObjById ($oIE, "pwdInput")    
    If IsObj($PassWord) Then $PassWord.value = "你的密码"
$submit =  _IEGetObjByName ($oIE, "loginBtn")
    If IsObj($submit) Then $submit.click
发表于 2012-1-17 19:18:44 | 显示全部楼层
学习下表单
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 13:05 , Processed in 0.085962 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表