找回密码
 加入
搜索
查看: 5922|回复: 5

[IE类操作] IELinkClickByindex的索引号获取不正确?

  [复制链接]
发表于 2014-1-12 11:07:54 | 显示全部楼层 |阅读模式
最近在学习<IE.au3>,其中的一个函数_IELinkClickByindex需要填写索引号,但我通过网页快捕2.8版以及iWebBrowser2获取的索引号好像都不正确,请问是怎样回事???

测试例子是360导航首页,网址http://hao.360.cn/,例如想要自动点击其中的百度链接,获取的索引号是62,但是自动打开的网页却是360商城,不是百度。

#include <IE.au3>
$oIE = _IEAttach("http://hao.360.cn/","url")
_IELinkClickByindex($oIE,62)
发表于 2014-1-12 11:47:33 | 显示全部楼层
用正则表达式吧!
发表于 2014-1-12 14:16:50 | 显示全部楼层
先看一下你的索引號所指定的LINK實際顯示的是不是百度~
另外,你可能要指定一下Frames。。。。
用_IEFrameGetCollection去指定Frames

#include <ie.au3>
#include <IE.au3>
;本范例通過LINK的INDEX抓取LINK的LINK 顯示的信息

$oIE = _IE_Example ("basic")
MsgBox(0,"",_IeGetLinkTextByIndex($oIE,2))


Func _IeGetLinkTextByIndex($obj,$Index)
Local $Result
;網頁內所有的LINK集合
$links=$obj.document.links
;網頁內LINK數量
$length=$obj.document.links.length
;判斷是否超出網頁內LINK數量
If $Index > $length Then
        $Result="Index Error"
EndIf


$i=1
;遍曆LINK,當INDEX相等時返回LINK的顯示信息
For $link in $links
If $Index=$i Then
        $Result=$link.outertext       
EndIf
$i+=1
Next
        Return $Result
EndFunc
发表于 2014-1-13 02:24:17 | 显示全部楼层
网页快捕的索引值,只用于这个函数
_IETagNameGetCollection($oIE,"a",62)
 楼主| 发表于 2014-1-13 22:03:24 | 显示全部楼层
回复 4# 风行者


    果然是这样,谢谢了!!

添加成下面的语句就可以了
#include <IE.au3>
$oIE = _IEAttach("http://hao.360.cn/","url")
$obaidu = _IETagNameGetCollection($oIE,"a",62)
_IEAction($obaidu, "click")
 楼主| 发表于 2014-1-13 22:19:04 | 显示全部楼层
对网页内的各种元素还是认识不够啊,框架、表单、文档、对象元素……有没有au3在ie自动化方面入门级的教程啊??大家推荐一个好从头学习一下??
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-3 02:11 , Processed in 0.090037 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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