中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-19 15:07
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请求改良一段VBS 查看 1,092 回复 12
楼 主 请求改良一段VBS 发表于 2007-04-16 10:30 ·  中国 湖南 株洲 电信
初级用户
★★
积分 135
发帖 54
注册 2006-09-10 03:07
UID 62265
状态 离线
Set Wshell=WScript.CreateObject("WScript.Shell")
AppName="163邮箱"
Set ie=WScript.CreateObject("InternetExplorer.Application")
ie.visible=True
For i=1 To 6 Step 1
ie.navigate "http://mail.163.com"
Do
Wscript.Sleep 200
Loop Until ie.ReadyState=4
ie.Document.login163.username.value="163ID"
ie.Document.login163.password.value="163密码"
WShell.SendKeys "~" ' 回车
Wscript.Sleep 5000 ' 根据自己的网速确定等待时间
Wshell.SendKeys "^W" ' 关闭IE窗口
Next

登陆163邮箱的VBS,请问能不能把这段代码改进一下呢?
如:我有N多的163邮箱保存在163.txt的文档中,地址与密码格式如:
1234@163.com----1234
1235@163.com----1234
1256@163.com----1234

请问能不能用VBS自动读取163.txt,自动从第一登陆至最后一个,并重复3次?
992912
2 发表于 2007-04-16 10:34 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
你刷积分呢?
3 发表于 2007-04-16 10:37 ·  中国 湖南 株洲 电信
初级用户
★★
积分 135
发帖 54
注册 2006-09-10 03:07
UID 62265
状态 离线
Originally posted by lxmxn at 2007-4-16 10:34:
你刷积分呢?

可以这么说吧
去年不小心申了N多163的邮箱
再说了
不登陆的话有被停的可能呀
各位帮忙了
992912
4 发表于 2007-04-16 10:38 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
用vbs和bat结合应该可以搞定,但是vbs我也不会。
5 发表于 2007-04-16 22:37 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 397
发帖 168
注册 2006-10-08 10:07
UID 64934
状态 离线
我也是新手,略写了一点,不知道有什么出错,我运行时是可以进去的!!
仅供参考:

'脚本和密码文本"163.txt"在同一个目录下运行
On Error Resume Next
Set fso=CreateObject("Scripting.FileSystemObject")
Set fr=fso.OpenTextFile("163.txt")
Do Until fr.AtEndOfStream
Login fr.ReadLine
Loop
fr.Close
Set fr=Nothing
Set fso=Nothing
Function Login(text)
Set Wshell=WScript.CreateObject("WScript.Shell")
AppName="163邮箱"
Set ie=WScript.CreateObject("InternetExplorer.Application")
ie.visible=True
text=Trim(text)
ID=Left(text,InStr(text,"@")-1)
PW=Right(text,len(text)-instrrev(text,"-"))
For i=1 To 6 Step 1
ie.navigate "http://mail.163.com"
Do
Wscript.Sleep 200
Loop Until ie.ReadyState=4
ie.Document.login163.username.value=ID
ie.Document.login163.password.value=PW
WShell.SendKeys "~" ' 回车
Wscript.Sleep 5000 ' 根据自己的网速确定等待时间
Wshell.SendKeys "^W" ' 关闭IE窗口
Next
Set ie=Nothing
Set Wshell=Nothing
End Function
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
utem999 +2 2007-04-17 03:06
6 发表于 2007-04-16 22:47 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 397
发帖 168
注册 2006-10-08 10:07
UID 64934
状态 离线
安全起见,可以在代码里加判断是否有163.txt文件的存在,还要判断文本文件是否为空,还有格式是否正确,但楼主是自己建的文件,应该不用判断了吧!!
7 发表于 2007-04-17 03:06 ·  中国 湖南 株洲 电信
初级用户
★★
积分 135
发帖 54
注册 2006-09-10 03:07
UID 62265
状态 离线
Originally posted by kich at 2007-4-16 22:37:
我也是新手,略写了一点,不知道有什么出错,我运行时是可以进去的!!
仅供参考:

'脚本和密码文本"163.txt"在同一个目录下运行
On Error Resu ...

谢谢
狂弹网页
992912
8 发表于 2007-04-17 08:26 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 397
发帖 168
注册 2006-10-08 10:07
UID 64934
状态 离线
Do
Wscript.Sleep 200
Loop Until ie.ReadyState=4

这个200好像设置小了,设置成2500,好像就好多了,不会出现很多网页了!!!
9 发表于 2007-04-19 13:58 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
UID 48180
性别 男
状态 离线
Originally posted by kich at 2007-4-16 22:47:
安全起见,可以在代码里加判断是否有163.txt文件的存在,还要判断文本文件是否为空,还有格式是否正确,但楼主是自己建的文件,应该不用判断了吧!!


写的真不错,狂弹网页是个小毛病。
分析下代码看 用改变 Sleep time 的方法 有些不妥,因为此处的Sleep易受硬件、系统、网络多方影响 且本就是秒甚至毫秒间的变化,添加另一个判断条件ie.Document.title=应该是个可行的方法。

163邮箱自动登陆→VBS版
10 发表于 2007-04-20 01:46 ·  中国 黑龙江 牡丹江 电信
中级用户
★★
积分 216
发帖 129
注册 2007-02-14 07:26
UID 79469
性别 男
状态 离线
能做成126的吗 我用126代换163 并把163.txt改成126 不行
11 发表于 2007-04-20 02:02 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
我喜欢用telnet,因为vbs容易受登陆界面的限制

[ Last edited by vkill on 2007-4-20 at 02:06 AM ]
12 发表于 2007-04-20 03:15 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
UID 48180
性别 男
状态 离线
Originally posted by xswdong at 2007-4-20 01:46:
能做成126的吗 我用126代换163 并把163.txt改成126 不行


可以改成126的 但是可能要更改下面句子
具体改成什么要查看网页源文件。
ie.Document.login163.username.value=ID
ie.Document.login163.password.value=PW
13 发表于 2007-05-10 16:30 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
Set fr=fso.OpenTextFile("163.txt",1,1)没有就自动创建……
论坛跳转: