找回密码
 加入
搜索
查看: 4753|回复: 3

[IE类操作] ie的Frame 只能获取到二层?

[复制链接]
发表于 2011-12-13 21:26:36 | 显示全部楼层 |阅读模式
RT
例如 网页A里的框架包含网页B,网页B的框架里包含网页C, 我使用_IEFrameGetCollection  目前只能获得到网页B , 继续获取网页C就无效 请看看是UDF的BUG还是我的问题

第一页必须填名字和邮箱  随即填写 不重要

$oie=_IECreate("http://www.quicklinkautoloan.com/form/iframe/34804/5788/?&sid=CD1884_082f5ae81e0e5a6750af1c0663e19a1c_/&ref=3480")  ;  打开网页
Sleep(1000)
_IELoadWait($oie)


$oFrame = _IEFrameGetObjByName ($oIE, "iframe")                    ;   获得网页里名为"iframe"的框架里

$oForm = _IEFormGetObjByName($oFrame, 'appForm')             ;     获得框架里的表单

$Name = _IEFormElementGetObjByName ($oForm, "appData[fn]")

_IEFormElementSetValue($Name, "shano")

$Name = _IEFormElementGetObjByName ($oForm, "appData[em]")

_IEFormElementSetValue($Name, "shnao331@"&Random(1,999,1)&"sohu.com")


_IEFormSubmit($oForm)
Sleep(1000)
_IELoadWait($oie)
Sleep(1000)
_IELoadWait($oie)
Sleep(1000)
_IELoadWait($oie)      
;-----------------------------------------------------------     第一页提交结束





$oFrame1 = _IEFrameGetObjByName ($oIE, "iframe")                  ;     获得第二页里"iframe"框架
MsgBox(0,"url",_IEPropertyGet ($oFrame1 , "locationurl"))      ;     显示框架里的URL 用来判断获取是否正确   http://www.quicklinkautoloan.com/index/submit/34804/5788  
$html=_IEDocReadHTML($oFrame1 )
FileWrite("c:\1.txt",$html)                    ;        把框架里的代码写入文件 用其他网页表单查看会有出入 可能
;-----------------    通过1.TXT里的文件里可以看到   http://www.quicklinkautoloan.com/index/submit/34804/5788   里还包含一个框架名为 "iframe"的框架 但是怎么也获取不到


$oFrame2 = _IEFrameGetObjByName ($oFrame1 , "iframe")
$oFrame2 = _IEFrameGetCollection($oFrame1 , 0) ;               

两个函数均无效  请高手帮忙看看
发表于 2011-12-14 02:22:23 | 显示全部楼层
本帖最后由 绿色风 于 2011-12-14 02:33 编辑

回复 1# shano


你的第一页不用搞什么自动登录,直接提交第二页中的数据
http://offerdisplay.com/offerpop.php?page=pop&placement=submit&sdat=34804;5788;CD1884_082f5ae81e0e5a6750af1c0663e19a1c_/&email=fsgf@sdfd.d&first_name=dfg
&sdat=34804;5788;CD1884_082f5ae81e0e5a6750af1c0663e19a1c_/&email=fsgf@sdfd.d&first_name=dfg
看到与你第一页的地址的区别没有。

第二页,中的,没明白你操作什么。。。。

只找到个 __main 这个form
http://quotes.usinsuranceonline.com/autocontact.php?refID=12867&refCampaign=3306:34804&kw=29095535 
这个地址是你那个 iframe 的。
发表于 2011-12-14 04:44:46 | 显示全部楼层
可以取到第三层的框架的,用_IEFrameGetCollection 来一层一层套,我研究了一个网站整整7个小时,终于在刚才找到了第三层的框架(这个网址真他妈的BT!!)通过提交表单的方式达到了欺骗服务器的目的,心情是一个爽字啊!!!
 楼主| 发表于 2011-12-14 13:02:37 | 显示全部楼层
回复 3# lynfr8


  我套到第二层就无效

$oFrame2 = _IEFrameGetCollection($oFrame1 , 0) ;
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 15:37 , Processed in 0.080427 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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