_IEImgGetCollection无法循环出网页图片链接
#include <IE.au3>
$oIE = _IECreate("202.107.222.146")
Local $oImgs = _IEImgGetCollection($oIE)
Local $iNumImg = @extended
MsgBox(4096, "Img Info", "There are " & $iNumImg & " images on the page")
For $oImg In $oImgs
MsgBox(4096, "Img Info", "src=" & $oImg.src)
_IEImgClick($oIE, $oImg.src)
Next
在使用上述代码对用友客户端登录网页的图片链接进行循环时,只能循环到网页最上面和最下面两张没有链接的图片,而中间的UFIDA NC(对应的图片是ufida_nc_over.png),IUFO(对应的图片是ufida_iufo_over.png)这两张图片却无法循环出其图片链接,请教这是什么现象?谢谢! 看202.107.222.146的网页源码,你说的二处没有用IMG标签指定图片位置名称等有关信息,而是用了函数,在函数里再指定的图片的信息,而_IEImgGetCollection()的帮助如此说:返回一个文档内IMG标签的对象变量集合,所以用_IEImgGetCollection()达不到你要的效果。 回复 2# shqf
网页源文件我也查看了,但是看得不是很懂,没学过C语言。有什么办法吗? 无需懂C语言,略懂HTML,知道标签的作用就行。
Autoit中模拟点击链接的函数、方法很多,可根据链接的不同类型,也可根据链接索引,或获取全部链接的对象集合,或根据ID等先获取单个链接对象等等。根据网页的不同情况需采用适合的不同的方法或函数。
以下是获取全部链接对象的集合的:#include <IE.au3>
$oIE = _IECreate("202.107.222.146")
Local $oLinks = _IELinkGetCollection($oIE)
Local $iNumlink = @extended
MsgBox(4096, "Link Info", "There are " & $iNumLink & " Links on the page")
For $oLink In $oLinks
MsgBox(4096, "Link Info", "href=" &$oLink.href)
_IEImgClick($oIE, $oLink.href)
Next 回复 4# shqf
这个我测试过了,达不到效果,找到的两个链接,第一个有效,第二个无效。
我逐个函数测试,发现以下函数可以满足我的要求:
#include <IE.au3>
Local $oIE = _IECreate("202.107.222.146")
_IELinkClickByIndex($oIE, 1)
0表示打开第一个链接,1表示打开第二个链接。 第9句忘记改了,为如下就行了:_IEAction($oLink, "click")
页:
[1]