aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 132110|回复: 64

web自动登录方法汇总(转自老大指导)

 火... [复制链接]

52

主题

1270

回帖

7276

积分

荣誉会员

积分
7276
发表于 2011-4-30 20:52:02 | 显示全部楼层 |阅读模式

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

import win.ui;
import web.form;

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

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

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

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

ele.form.action =
'http://secure.verycd.com/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( min=1;bottom=249;scroll=1;right=349;text="aardio Form";max=1 )
winform.add(  )
/*}}*/

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

//打开目标网站
wb.go("http://secure.verycd.com/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( min=1;bottom=249;scroll=1;right=349;text="aardio Form";max=1 )
winform.add(  )
/*}}*/

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

//打开目标网站
wb.go("http://secure.verycd.com/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( min=1;bottom=249;scroll=1;right=349;text="aardio Form";max=1 )
winform.add(  )
/*}}*/

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

//打开目标网站
wb.go("http://secure.verycd.com/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.verycd.com/hero/wp-content/themes/hero_v1/images/dl.gif" )  
        ele.click();
}

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

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

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

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

import web.form;

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

//打开目标网站
wb.go("http://secure.verycd.com/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( min=1;bottom=249;scroll=1;right=349;text="aardio Form";max=1 )
winform.add(  )
/*}}*/

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

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

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

评分

参与人数 4 +85 收起 理由
sandorn + 5 很给力!
dasan + 20 很给力!
icykiss + 30 很给力!
wfassg + 30 赞一个!

查看全部评分

20

主题

181

回帖

1293

积分

培训班

积分
1293
发表于 2011-4-30 21:18:48 | 显示全部楼层
这种形式的总结要大力支持

65

主题

880

回帖

5033

积分

荣誉会员

积分
5033
发表于 2011-5-1 09:19:46 | 显示全部楼层
wb.document.getElementById("J_StaticForm").submit()

和ele.form.submit差不多.

51

主题

212

回帖

1548

积分

四级会员

积分
1548
发表于 2011-5-1 13:27:02 | 显示全部楼层
这个值得收藏,继续深入学习下。

6

主题

150

回帖

925

积分

三级会员

积分
925
发表于 2011-5-1 13:36:51 | 显示全部楼层
好帖!收藏学习,必须的。

7

主题

115

回帖

747

积分

三级会员

积分
747
QQ
发表于 2011-5-2 06:06:18 | 显示全部楼层
收藏了,以后有用的着的时候

7

主题

36

回帖

2873

积分

五级会员

积分
2873
QQ
发表于 2011-5-4 10:36:09 | 显示全部楼层
收藏ing

6

主题

57

回帖

387

积分

荣誉会员

积分
387
发表于 2011-5-5 08:56:14 | 显示全部楼层
值得收藏,深入学习

1

主题

3

回帖

35

积分

新手入门

积分
35
发表于 2011-5-5 13:08:47 | 显示全部楼层
先收藏了 谢谢!

3

主题

9

回帖

61

积分

一级会员

积分
61
发表于 2011-5-16 17:34:52 | 显示全部楼层
呵呵 好的东西就是要收藏的

1

主题

15

回帖

180

积分

一级会员

积分
180
发表于 2011-5-16 17:47:42 | 显示全部楼层
收藏

40

主题

519

回帖

3015

积分

新手入门

超级初学者

积分
3015
发表于 2011-5-24 19:54:37 | 显示全部楼层
感谢Q版的整理,很有用

0

主题

18

回帖

100

积分

一级会员

积分
100
发表于 2011-5-26 09:44:40 | 显示全部楼层
谢谢版主的支持。。。

2

主题

7

回帖

46

积分

新手入门

积分
46
发表于 2011-7-14 10:53:04 | 显示全部楼层
收藏,继续深入学习

1

主题

17

回帖

99

积分

一级会员

积分
99
发表于 2011-7-18 09:05:24 | 显示全部楼层
这个实用,强大啊!

47

主题

129

回帖

951

积分

荣誉会员

积分
951
发表于 2011-7-22 10:37:43 | 显示全部楼层
有一特例登录方式,调用页面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()//自动提交表单
复制代码

7

主题

115

回帖

747

积分

三级会员

积分
747
QQ
发表于 2011-7-31 18:02:45 | 显示全部楼层
学习下,以留备用

2

主题

32

回帖

233

积分

二级会员

积分
233
发表于 2011-7-31 20:17:01 | 显示全部楼层
恩这么多方法!

52

主题

1270

回帖

7276

积分

荣誉会员

积分
7276
 楼主| 发表于 2011-8-1 23:30:55 | 显示全部楼层
老大于7.31更新了帖子,增加了 wb.queryEles() 函数找节点的用法,非常清晰,谢谢老大!
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-1-13 15:34 , Processed in 0.081843 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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