实现“QQ邮箱写信页面自动填入邮件标题”功能,无法获得框架下元素(附代码)[已解决]
本帖最后由 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 完成::0
看来是获取到了IE窗口,但是没有找到框架下面包含的元素,也许是框架名参数给的不对,遂用框架名、表单名的不同排列测试,均无法实现(其实我个人通过观察页面HTML代码,目标框架应该就是mainFrame,目标表单应该就是frm,目标的文本框应该是subject)
百思不得其解,这个地方已经卡住三天。
请求各位坛友帮助,谢谢大家!!!! HTML 代码
把获取框架的代码取消掉,结果依然相同
--> 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 解决了,说来惭愧为了避免其他朋友遇到同样的情况
还是自曝一下
请看代码;邮件页面已经打开
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")审题不清,审代码也不请.....唉 LZ好样的! 哪怎么填入 发送人和 内容呢 哪怎么填入 发送人和 内容呢 新手经常会出现这种问题的啊。 找错了对象,以后小心啊
页:
[1]