分享

web自动登录方法汇总

 看见就非常 2012-08-02
作者: qqmmcc    时间: 2011-4-30 20:52
标题: web自动登录方法汇总(转自老大指导)

使用ele.form.submit提交的方法

import win.ui;
import web.form;

/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=249;scroll=1;right=349;text="AAuto Form";max=1 )
winform.add(  )
/*}}*/

//创建web窗体
var wb = web.form( winform );

//打开目标网站
wb.go("http://secure./3rdServices/50hero")
winform.show(
true)
wb.wait(
"");

//登录
wb.getEle("username").value="登录用户名"
ele = wb.getEle(
"password")
ele.value=
"999999"  

ele.form.action =
'http://secure./signin?f=out'
ele.form.submit()

//进入消息循环
win.loopMessage();
return wb,winform;


使用wb.doScript执行js脚本提交的方法

import win.ui;
import web.form;

/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=249;scroll=1;right=349;text="AAuto Form";max=1 )
winform.add(  )
/*}}*/

//创建web窗体
var wb = web.form( winform );

//打开目标网站
wb.go("http://secure./3rdServices/50hero")
winform.show(
true)
wb.wait(
"");

//登录
wb.getEle("username").value="登录用户名"
wb.getEle(
"password").value="999999"  
wb.doScript(
"FormSubmit()")

//进入消息循环
win.loopMessage();
return
wb,winform;

使用wb.Script.函数(至少一个参数) 执行脚本提交

import win.ui;
import web.form;
/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=249;scroll=1;right=349;text="AAuto Form";max=1 )
winform.add(  )
/*}}*/

//创建web窗体
var wb = web.form( winform );

//打开目标网站
wb.go("http://secure./3rdServices/50hero")
winform.show(
true)
wb.wait(
"");

//登录
wb.getEle("username").value="登录用户名"
wb.getEle(
"password").value="999999"   

/*
执行js函数必须要有实参,不需要参数的函数可以随便写一个也可以,
这种直接调用js函数的方法能取到js函数的返回值,而wb.doScript()是不行的。
如果不写参数,返回的是函数对象本身,而不是调用函数。
*/

wb.script.FormSubmit(0)

//进入消息循环
win.loopMessage();
return wb,winform

用wb.eachAll()查找节点,并使用ele.click()模拟点击提交.

import win.ui;
import web.form;
/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=249;scroll=1;right=349;text="AAuto Form";max=1 )
winform.add(  )
/*}}*/

//创建web窗体
var wb = web.form( winform );

//打开目标网站
wb.go("http://secure./3rdServices/50hero")
winform.show(
true)
wb.wait(
"");

//登录
wb.getEle("username").value="登录用户名"
wb.getEle(
"password").value="999999"   

//遍历所有input节点
for( i,ele in wb.eachAll("input") ){
   
if( ele.src == "http://game./hero/wp-content/themes/hero_v1/images/dl.gif" )  
        ele.click();
}

//进入消息循环
win.loopMessage();
return wb,winform;

用wb.queryEles()查找节点执行click()方法提交

该函数用法参考帖子:http://www./thread-2490-1-1.html

import win.ui;  
/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=249;scroll=1;right=349;text="AAuto Form";max=1 )
winform.add(  )
/*}}*/

import web.form;

//创建web窗体
var wb = web.form( winform );

//打开目标网站
wb.go("http://secure./3rdServices/50hero")
winform.show(
true)
wb.wait(
"");

//登录
wb.getEle("username").value="登录用户名"
wb.getEle(
"password").value="999999"   

wb.queryEles (
    src =
"dl.gif";
    tagName =
"input"

).click()

//进入消息循环
win.loopMessage();
return
winform,wb;

使用wb窗体自动post提交

import win.ui;
import web.form;
/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=249;scroll=1;right=349;text="AAuto Form";max=1 )
winform.add(  )
/*}}*/

//创建web窗体
var wb = web.form( winform );

//构建上传数据
postData = string.fromto(
   
"ru=http%3A%2F%2Fsecure.%2F3rdServices%2F50hero&login_submit=%E7%99%BB%E5%BD%95&username=登录用户名&password=999999&x=33&y=15&_REFERER="
    ,0
    ,65001
    )

//自动提交
wb.post("http://secure./signin?f=out"
    ,postData )

//显示窗口
winform.show(true)

//进入消息循环
win.loopMessage();
return
wb,winform;

不使用web窗体自动post提交

import process;
import inet.whttp


whttp = inet.whttp();

//构建上传数据
postData = string.fromto(
   
"ru=http%3A%2F%2Fsecure.%2F3rdServices%2F50hero&login_submit=%E7%99%BB%E5%BD%95&username=登录用户名&password=999999&x=33&y=15&_REFERER="
    ,0
    ,65001
    )

str,errmsg = whttp.post(
"http://secure./signin?f=out" ,postData );
whttp.close();
//释放资源
   
if(str){//如果提交成功则保存到指定文件
    string.save("/post.html",str )
    process.
execute( "/post.html"  )
}
else{//否则输出错误信息
    win.msgbox(errmsg)
}


作者: carl    时间: 2011-4-30 21:18
这种形式的总结要大力支持
作者: 低调点    时间: 2011-5-1 09:19
wb.document.getElementById("J_StaticForm").submit()

和ele.form.submit差不多.
作者: o00viw    时间: 2011-5-1 13:27
这个值得收藏,继续深入学习下。
作者: jsniu    时间: 2011-5-1 13:36
好帖!收藏学习,必须的。
作者: sj798    时间: 2011-5-2 06:06
收藏了,以后有用的着的时候
作者: greenbud    时间: 2011-5-4 10:36
收藏ing
作者: freemanol    时间: 2011-5-5 08:56
值得收藏,深入学习
作者: set555    时间: 2011-5-5 13:08
先收藏了 谢谢!
作者: cissy    时间: 2011-5-16 17:34
呵呵 好的东西就是要收藏的
作者: 太子    时间: 2011-5-16 17:47
收藏
作者: fantasynew    时间: 2011-5-24 19:54
感谢Q版的整理,很有用
作者: zhanyong    时间: 2011-5-26 09:44
谢谢版主的支持。。。
作者: 刘旭钱    时间: 2011-7-14 10:53
收藏,继续深入学习
作者: glod123    时间: 2011-7-18 09:05
这个实用,强大啊!
作者: 海飘飘    时间: 2011-7-22 10:37
有一特例登录方式,调用页面JS,改写成AAu语句来实现
网页JS代码如下
  1. <script>
  2. function jump(regtype){
  3.         document.form1.regtype.value=regtype;
  4.         document.form1.submit();
  5. }
  6. </script>
复制代码
网页源文件
  1.                 <form name="form1" action="/NoteAction.do" method="post">
  2.                         <input type="hidden" name="method" value="addSign"/>
  3.                         <input type="hidden" name="regtype" value=""/>
  4.                         <input type="hidden" id="guid" name="guid" size="0"/>
  5.                         <input type="hidden" id="adid" name="adid" size="0"/>
  6.                         <input type="hidden" id="hdid" name="hdid" size="0"/>
  7.                         <input type="hidden" id="refer" name="refer" size="0"/>
  8. <a href="#" onclick="jump('normalReg');return false;" class="btn_reg">免费注册</a>
复制代码
使用AAu登录方式
  1.         ele=wb.getEle("regtype")
  2.         if(ele){
  3.                 ele.setAttribute("value","normalReg")//设置类型
  4.         }
  5.     ele.form.submit()//自动提交表单

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多