找回密码
 加入
搜索
查看: 5464|回复: 9

[IE类操作] 这种有嵌套iframe网页的链接如何点击

  [复制链接]
发表于 2011-5-24 16:17:43 | 显示全部楼层 |阅读模式
本帖最后由 feixiangdao 于 2011-5-26 16:31 编辑

地址:http://www.childhoodedu.info/edu.htm

这个网页用_IELinkGetCollection无法获取连接,分析网页得知里面有嵌套iframe,不知道如何才能用au3做到自动点击。

忘记说了,这个页面要用国外代理才能看得到链接。晕,这下麻烦了。
 楼主| 发表于 2011-5-25 18:43:57 | 显示全部楼层
有没有人给个提示
发表于 2011-5-25 21:52:45 | 显示全部楼层
 楼主| 发表于 2011-5-26 14:30:42 | 显示全部楼层
谢谢楼上,但是还是没有解决问题,我用:

#include <IE.au3>
$oIE = _IECreate("http://www.childhoodedu.info/edu.htm")
$oFrames = _IEFrameGetCollection ($oIE)
$iNumFrames = @extended
ConsoleWrite($iNumFrames)
For $i = 0 to ($iNumFrames - 1)
    $oFrame = _IEFrameGetCollection ($oIE, $i)
    MsgBox(0, "Frame Info", _IEPropertyGet ($oFrame, "locationurl"))
Next

这样什么都没有得到。$iNumFrames返回的是0
但是chrome开发工具下查看可以看到<iframe>标签
请指点
 楼主| 发表于 2011-5-27 08:41:48 | 显示全部楼层
如果直接查看源码是一些JS代码,如果用彗星小助手看:
<HTML><HEAD>
<SCRIPT type=text/javascript>ap_loaded = false;</SCRIPT>

<SCRIPT type=text/javascript src="http://ad.leadbolt.net/show_cu.js?section_id=337445032"></SCRIPT>

<SCRIPT type=text/javascript>if (!ap_loaded) { window.location = 'http://ad.leadbolt.net/adblock?section_id=337445032'; }</SCRIPT>
<NOSCRIPT></NOSCRIPT></HEAD>
<BODY style="OVERFLOW: hidden" scroll=no>
<DIV style="Z-INDEX: 999997; POSITION: absolute; FILTER: Alpha(Opacity=60); BACKGROUND-COLOR: #000000; WIDTH: 100%; DISPLAY: block; HEIGHT: 755px; TOP: 0px; LEFT: 0px; opacity: 0.6" id=ap_cu_overlay></DIV>
<DIV style="Z-INDEX: 999998; POSITION: absolute; TEXT-ALIGN: center; WIDTH: 100%; HEIGHT: 755px; TOP: 0px; LEFT: 0px" id=ap_cu_wrapper><IFRAME style="PADDING-BOTTOM: 0px; MARGIN-TOP: 100px; PADDING-LEFT: 0px; WIDTH: 500px; PADDING-RIGHT: 0px; HEIGHT: 500px; PADDING-TOP: 0px" id=ap_cu_frame height=500 marginHeight=0 src="http://ad.leadbolt.net/show_cu?lang=zh-cn&amp;url=http%3A%2F%2Fwww.childhoodedu.info%2Fedu.htm&amp;referer=&amp;section_id=337445032" frameBorder=0 width=500 allowTransparency name=ap_cu_frame marginWidth=0 scrolling=no></IFRAME></DIV></BODY></HTML>
发表于 2011-5-27 08:55:31 | 显示全部楼层
$oFrames = _IEFrameGetCollection ($oIE)       
$oForm = _IEFrameGetCollection($oIE, 0)
$oInput = _IEGetObjById($oForm, "txtActivationCode")
_IEFormElementSetValue ($oInput, zhuce(1,$code))
获取嵌套的索引
$oForm = _IEFrameGetCollection($oIE, 0)   我的是0  你看下你那个网页就知道了
发表于 2011-5-27 12:24:59 | 显示全部楼层
呵呵,此类问题我正好回答你,因为我以前碰到了。我和你一样,也是用FOR,能得到集合数量,但就是显示不出来,其实呢,直接在网页源码里,找到IFRAME的指向地址,然后再对里面的对象进行操作!
 楼主| 发表于 2011-5-27 12:51:41 | 显示全部楼层
还是不太懂楼上两位的意思,能否再详细说下
1,源代码中并没有form,而我是要点击iframe中的链接
2,我用for并没有得到集合数,或者我的理解错误,“找到IFRAME的指向地址,然后再对里面的对象进行操作”这个是怎么操作?
发表于 2011-5-27 14:04:47 | 显示全部楼层
$oFrames = _IEFrameGetCollection ($oIE)  
MsgBox(1,@ERROR,@EXTENDED)
看下帮助的返回值就知道了
@EXTENDED  这个是框架数量
 楼主| 发表于 2011-5-27 23:28:51 | 显示全部楼层
我这个页面比较特殊,是以JS生成的框架。
用你以上这段语句返回是0,而且网页还没有载入框架的时候就已经返回了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:43 , Processed in 0.074500 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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