[已解决]谁能写一个163自动发邮箱的代码(不是用jmail,而是用页面模拟)
本帖最后由 jingygr 于 2012-7-9 13:01 编辑大家好,小弟正在学习如果自动发送邮件。
对于mail.163.com这个邮箱,我不懂得如何自动输入邮件的收件人、标题及正文。
因为163邮箱中,一直用内嵌的iframe页面。现在是能取得这些内嵌页面的URL,但是里面有很多输入框input没有ID或名字。所以不知道怎么定位到这些输入框中。
麻烦大家帮我想想办法,谢谢 试一下用tab键来切换
----------------------------$oIE=ObjCreate("InternetExplorer.Application.1") ; 建立 IE 对象
$SinkObject=ObjEvent($oIE,"IEEvent_","DWebBrowserEvents2")
$oIE.Visible=1
$oIE.RegisterAsDropTarget = 1
$oIE.RegisterAsBrowser = 1
$oIE.Navigate( "http://mail.163.com/" ) ;定位网址
sleep(3000) ; 载入网页需要的时间
Send("xxxxxx") ;用<tab>键切换行?
Send("{tab}") ;切换
Send("******") ;输入密码
Send("{ENTER}") ;输完密码直接回车确定 有可能IE缓存邮箱用户名,影响模拟输入,清空一下Cookies就可以了。 不记得是在哪里看到得一个源码!!
#include <IE.au3>
$username = 'aaaaaaaa'
$password = 'bbbbbbbb'
$oIE = _IECreate("http://mail.163.com")
$oform = _IEGetObjByName($oIE, "login163")
$oQuery1 = _IEFormElementGetObjByName($oform, "username");
_IEFormElementSetValue($oQuery1, $username);
$oQuery2 = _IEFormElementGetObjByName($oform, "password")
_IEFormElementSetValue($oQuery2, $password);
$Elements = _IEFormElementGetCollection($oform)
For $Element In $Elements
;MsgBox(0, "Form Element Type", "Form: " & $Element.form.name & " Type: " & $Element.type)
If $Element.type = "Submit" Then $Element.click
Next
楼主要的不是自动登录吧 楼主要的不是自动登录吧
cxlater 发表于 2011-11-6 20:13 http://www.autoitx.com/images/common/back.gif
不是自动登录。而是自动发送。登录及打开写信窗口我都已经写好了。就是不知道怎么设置写信界面中的那些input的值(不懂得自动填写收件人、标题、邮件正文) 回复 4# ye5022
不是自动登录。而是自动发送。登录及打开写信窗口我都已经写好了。就是不知道怎么设置写信界面中的那些input的值(不懂得自动填写收件人、标题、邮件正文) 回复 2# dnbj2010
不是自动登录。而是自动发送。登录及打开写信窗口我都已经写好了。就是不知道怎么设置写信界面中的那些input的值(不懂得自动填写收件人、标题、邮件正文) 回复 8# jingygr
--------------------------------------------
呵呵,我是坐标定位,刚看了这个贴子,试了一下也是可以的,看这里
http://www.autoitx.com/thread-28540-1-1.html
......._IETagNameGetCollection.....
论坛有很多贴子都很有启发性,可以多逛逛,多搜搜。 又试了一下,发现 _IETagNameGetCollection 在163邮箱登陆时是有效的,但登陆之后就不行了。
从_IEDocReadHTML ($oIE) 返回的源码分析,登陆之后为:
<IFRAME style="WIDTH: 100%; POSITION: absolute; HEIGHT: 100%" border=0 name=index src="index.jsp?sid=rCaMvyWREdLyebUuZvRRLKAwnwnSwVwb" frameBorder=0></IFRAME>
这样子,本人没办法了,看高手怎样来获取吧?
咱们低手,就用低手的方法吧:
用窗口信息工具查询目标控件的坐标,然后
MouseClick ("left",x坐标, y坐标,1) 点"写信"后,直接send()就可以填写收件人了, 不是吗? 回复 1# jingygr
是这样吗?
http://www.autoitx.com/forum.php?mod=viewthread&tid=20915&highlight= 试一下看看能不能用 本帖最后由 xz00311 于 2011-11-9 15:41 编辑
网络问题发了这么多 本帖最后由 xz00311 于 2011-11-9 15:41 编辑
网络问题希望管理见谅把那些多出来的删除掉
页:
[1]
2