txd1d 发表于 2014-1-12 11:07:54

IELinkClickByindex的索引号获取不正确?

最近在学习<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)

joyran 发表于 2014-1-12 11:47:33

用正则表达式吧!

funco 发表于 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)

txd1d 发表于 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")

txd1d 发表于 2014-1-13 22:19:04

对网页内的各种元素还是认识不够啊,框架、表单、文档、对象元素……有没有au3在ie自动化方面入门级的教程啊??大家推荐一个好从头学习一下??
页: [1]
查看完整版本: IELinkClickByindex的索引号获取不正确?