找回密码
 加入
搜索
查看: 6745|回复: 8

[IE类操作] 实现“QQ邮箱写信页面自动填入邮件标题”功能,无法获得框架下元素(附代码)[已解决]

[复制链接]
发表于 2011-4-18 08:14:49 | 显示全部楼层 |阅读模式
本帖最后由 itestit 于 2011-4-18 10:20 编辑

求助,想实现在QQ邮箱的写信页面自动填入邮件标题。

由于QQ邮箱的写信页面是由几个框架构成的,在论坛上搜索并且请教了群里的朋友。
写了如下代码
;邮件页面已经打开
Sleep(3000) ;等待页面加载完毕,标题转变
$oIE =_IEAttach ("QQ邮箱 - 写信 - Windows Internet Explorer","WindowTitle")
$oFrame = _IEFrameGetObjByName ($oIE, "mainFrame")
Sleep(100)
$oForm = _IEFormGetObjByName($oIE,"frm")
Sleep(100)
$oQuery = _IEFormElementGetObjByName($oForm, "subject")
Sleep(100)
_IEFormElementSetValue($oQuery, "test")
但运行后却提示

--> IE.au3 V2.4-0 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch
--> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType
+>08:06:21 AutoIT3.exe 完成:[CODE]:0


看来是获取到了IE窗口,但是没有找到框架下面包含的元素,也许是框架名参数给的不对,遂用框架名、表单名的不同排列测试,均无法实现(其实我个人通过观察页面HTML代码,目标框架应该就是mainFrame,目标表单应该就是frm,目标的文本框应该是subject)
百思不得其解,这个地方已经卡住三天。
请求各位坛友帮助,谢谢大家!!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-4-18 08:23:02 | 显示全部楼层
HTML 代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-4-18 08:25:26 | 显示全部楼层


把获取框架的代码取消掉,结果依然相同

--> IE.au3 V2.4-0 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch
--> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
--> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-4-18 10:25:24 | 显示全部楼层
解决了,说来惭愧  为了避免其他朋友遇到同样的情况
还是自曝一下

请看代码
;邮件页面已经打开
Sleep(3000) ;等待页面加载完毕,标题转变
$oIE =_IEAttach ("QQ邮箱 - 写信 - Windows Internet Explorer","WindowTitle")
$oFrame = _IEFrameGetObjByName ($oIE, "mainFrame")
Sleep(100)
$oForm = _IEFormGetObjByName($oIE,"frm")
Sleep(100)
$oQuery = _IEFormElementGetObjByName($oForm, "subject")
Sleep(100)
_IEFormElementSetValue($oQuery, "test")
其实是这条代码的参数给的不对,没有继承框架而是直接从主页面
$oForm = _IEFormGetObjByName($oIE,"frm")
改为如下就对了
$oForm = _IEFormGetObjByName($oFrame ,"frm")
审题不清,审代码也不请.....唉
发表于 2012-1-28 04:59:44 | 显示全部楼层
LZ好样的!
发表于 2012-9-18 16:07:34 | 显示全部楼层
哪怎么填入 发送人和 内容呢
发表于 2012-9-18 16:10:46 | 显示全部楼层
哪怎么填入 发送人和 内容呢
发表于 2012-11-1 22:56:11 | 显示全部楼层
新手经常会出现这种问题的啊。
发表于 2013-3-6 13:01:44 | 显示全部楼层
找错了对象,以后小心啊
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 09:33 , Processed in 0.123493 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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