您的位置:首页 > 其它

163 邮箱登陆

2010-08-04 19:41 204 查看
import win; //必须首先导入win窗口支持库
import win.ui;
import web;
import inet.http; //导入http库

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

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

//打开目标网站
wb.go("http://email.163.com/")
winform.show(true) //显示窗体
wb.wait()

zh="qq"
mm="12345"

assert( wb.getEle("txtUser") ).value=zh //获取网页节点 - 输入用户名的文本框
wb.getEle("txtPassword").value=mm //获取网页节点 - 输入密码的文本框

//自动点击提交按钮
wb.doScript("fLogin()")
wb.getEle("frmLogin").submit()
wb.wait();

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

===================================

用这方法采用上面email.163.com地址登陆时会跳转。

***学习: wb.wait()是等待页面打开,不需要每设置一个节点都调用wb.wait(),完全没有必要,也不需要每个节点都用if(ele)检测,一般检测第一个就行了

执行脚本直接用 wb.doScript

更改一下登陆地址即可

import win; //必须首先导入win窗口支持库
import win.ui;
import web;
import inet.http;
/*DSG{{*/
var winform = win.form(parent=...; min=1;bottom=465;scroll=1;text="AAuto Form";right=686;max=1 )
winform.add(  )
/*}}*/
//创建web窗体
var wb = web(winform,web.UIFLAG_NO3DBORDER/*无边框*/ /*,web.DLCTL_NO_SCRIPTS禁用脚本*/  )
wb.go("https://reg.163.com/logins.jsp?type=1&product=mail163&url=http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight%3D1%26verifycookie%3D1%26language%3D-1%26style%3D")
//显示窗体
winform.show(true)
wb.wait( );//等待指定网址,可以使用模式匹配语法
zh="用户名"
mm="123123"
wb.wait()
ele=wb.getEle("username") //获取网页节点 - 输入用户名的文本框
if(ele){ele.setAttribute("value",zh)    } //自动填写用户名
ele=wb.getEle("password") //获取网页节点 - 输入密码的文本框
if(ele){ele.setAttribute("value",mm)    } //自动填写密码
ele=wb.getEle("loginBtn") //获取提交按钮
if(ele){ ele.click()  } //自动点击提交按钮
win.delay(1000)
//进入消息循环
win.loopMessage();
return wb,winform;


转自:http://www.ecranesoft.com/bbs/showtopic-8526-2.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: