找回密码
 加入
搜索
查看: 12687|回复: 23

[IE类操作] [已解决]_IELinkClickByText函数的要求是什么

 火.. [复制链接]
发表于 2011-12-17 20:30:29 | 显示全部楼层 |阅读模式
本帖最后由 兔子先生 于 2011-12-18 14:20 编辑
#include <IE.au3>
Local $html = _IECreate("http://baidu.com")
Sleep(8000)
_IELinkClickByText($html, "贴吧")
MsgBox(0,"1",_IELinkClickByText($html,"贴吧"))
这段代码不能打开该网页中C++这个链接。

但是我到_IELinkClickByText函数帮助文件内有个脚本测试是正常的。
这是为什么?我没动什么,对链接加了个CSS样式,是这个的原因么?

解决方法,可能是函数了解不透彻,而且在我使用的AU3(现在的最新版本中)几个帮助均不能用。尝试更新下AU3
发表于 2011-12-17 20:33:59 | 显示全部楼层
不贴网页源码 谁能帮你?
 楼主| 发表于 2011-12-17 20:41:05 | 显示全部楼层
回复 2# shano


    我改了下,试了百度也还是不行,我觉得是我的写法有问题。
现在看看?
 楼主| 发表于 2011-12-17 21:03:48 | 显示全部楼层
刚刚试了别人的函数,也是不能点击
估计是我IE.AU3的问题?搜索了下没有看到下载。。
发表于 2011-12-17 21:13:40 | 显示全部楼层
一般不用_IELinkClickByText
要实现点那个按钮有其他办法啊  A标签集合  也可以用id找对象
 楼主| 发表于 2011-12-17 21:24:41 | 显示全部楼层
回复 5# cxlater


    嗯,谢谢。我去看看帮助还有什么办法
发表于 2011-12-17 21:26:56 | 显示全部楼层
http://www.autoitx.com/thread-29196-1-1.html
利用这工具,拖到元素,点生成代码,ok
发表于 2011-12-17 21:49:38 | 显示全部楼层
#include <IE.au3>
$sMyString = "贴吧"
$oLinks = _IELinkGetCollection($oIE)
For $oLink in $oLinks
    $sLinkText = _IEPropertyGet($oLink, "innerText")
    If StringInStr($sLinkText, $sMyString) Then
         _IEAction($oLink, "click")
        ExitLoop
    EndIf
Next
 楼主| 发表于 2011-12-17 21:53:45 | 显示全部楼层
回复 7# 风行者


    生成的代码是这样的
;脚本生成于网页快捕

#include <IE.au3>
$oIE = _IEAttach("http://www.baidu.com/","url")
$Ele = _IEGetObjByName($oIE,"tj_tieba") ;注意相同name情况,需要第三参数
_IEAction($Ele,"click")
测试不能打开。。。
 楼主| 发表于 2011-12-17 21:54:24 | 显示全部楼层
回复 8# blue_dvd

$oIE没有定义。我改了下
#include <IE.au3>
$sMyString = "贴吧"
$oIE = _IECreate("http://www.baidu.com")
$oLinks = _IELinkGetCollection($oIE)
For $oLink in $oLinks
    $sLinkText = _IEPropertyGet($oLink, "innerText")
    If StringInStr($sLinkText, $sMyString) Then
         _IEAction($oLink, "click")
        ExitLoop
    EndIf
Next
测试还是不能打开链接。。
发表于 2011-12-17 22:00:32 | 显示全部楼层
回复 10# 兔子先生


    能点到才出鬼了  LZ看看 你定义的文件 和百度上面的文字一样嘛

贴吧中间有空格
 楼主| 发表于 2011-12-17 22:01:40 | 显示全部楼层
本帖最后由 兔子先生 于 2011-12-17 22:04 编辑

回复 11# shano

嗯,我发现了。但是刚刚测试的代码都是加了空格的
我再试试空格的显示
不如你帮我测试下这段代码能不能点到?
#include <IE.au3>

$oIE = _IECreate("http://baidu.com")

Local $sMyString = "贴 吧"
Local $oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
        Local $sLinkText = _IEPropertyGet($oLink, "innerText")
        If StringInStr($sLinkText, $sMyString) Then
                _IEAction($oLink, "click")
                ExitLoop
        EndIf
Next
无论是 贴 吧还是贴&nbsp;吧都不能点到
而且有个楼层说的他自己编写的网页快捕也不能点击,窗口都没有弹出来- -
不知道是不是我的IE.au3函数的问题,不如我重装下试试?
发表于 2011-12-17 22:17:52 | 显示全部楼层
回复 9# 兔子先生

看第二句注释,如果不能打开,表示有相同name情况出现,
需要第三个参数
发表于 2011-12-17 22:19:32 | 显示全部楼层
回复 12# 兔子先生


    我就是拿你的代码测试的才发现没有空格   加个空格就可以点到了

你用这段代码 看看能不能获取到贴吧的连接

$oIE = _IECreate("http://baidu.com")

$oLinks = _IELinkGetCollection ($oIE)
$iNumLinks = @extended
MsgBox(0, "Link Info", $iNumLinks & " links found")
For $oLink In $oLinks
    MsgBox(0, "Link Info", $oLink.href)
Next
 楼主| 发表于 2011-12-17 22:23:08 | 显示全部楼层
回复 14# shano


    能获取到。那我到底是哪里错误?我加了空格也点不到- -
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 20:44 , Processed in 0.096562 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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