找回密码
 加入
搜索
查看: 1570|回复: 2

[已解决]如何点击动态生成的文本超链接链接-基于IP的KVM

[复制链接]
发表于 2009-10-22 17:53:07 | 显示全部楼层 |阅读模式
本帖最后由 remme 于 2009-11-4 23:21 编辑

现在在做一个能自动登陆基于IP的KVM界面的脚本。

初始的用户名密码表单提交解决了,现在的问题是刷出界面后,无法定位文本链接(IE最大化然后移动鼠标时是最后的选项)。



用FF看源代码,发现其中的链接是用IE的javascript生成的。

用代码捕捉:
$oIE2 = _IEFrameGetObjByName($oIE,"container")
_IELoadWait($oIE2)
$oLinks = _IELinkGetCollection ($oIE2)
$iNumLinks = @extended
MsgBox(0, "Link Info", $iNumLinks & " links found")
For $oLink In $oLinks
    MsgBox(0, "Link Info",$oLink.href)
Next


发现返回的链接为8个。而不是读完HTML的32个。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2009-10-22 17:54:51 | 显示全部楼层
其中container为主界面中的iframe名字。

由于网站在公司内网,因此就没法对外公布地址链接供测试了,抱歉。
 楼主| 发表于 2009-10-23 13:43:39 | 显示全部楼层
最后使用如下代码解决,思路是给每个文本超链接上加上一个名字。
;读取源代码
$sSource = _IEDocReadHTML($oIE2)

;替换文本链接,加上一个名字;用循环是为了个不同的链接加上不同的名字便于区别
$sTMPLink = 1
Do
        $sTMP = "<A name=textlink" & $sTMPLink & " o"
        $sSource = StringReplace($sSource,"<A o",$sTMP,1)
        $sTMPLink +=1
until not @extended

;写回去
_IEBodyWriteHTML($oIE2,$sSource)

;点击链接
$oWinopen = _IEGetObjByName($oIE2,"textlink5")
$oWinopen.click

后续还有实际打开的问题,就只能通过控制鼠标的方式来解决了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 20:29 , Processed in 0.078275 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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