兔子先生 发表于 2011-12-17 20:30:29

[已解决]_IELinkClickByText函数的要求是什么

本帖最后由 兔子先生 于 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

shano 发表于 2011-12-17 20:33:59

不贴网页源码 谁能帮你?

兔子先生 发表于 2011-12-17 20:41:05

回复 2# shano


    我改了下,试了百度也还是不行,我觉得是我的写法有问题。
现在看看?

兔子先生 发表于 2011-12-17 21:03:48

刚刚试了别人的函数,也是不能点击
估计是我IE.AU3的问题?搜索了下没有看到下载。。

cxlater 发表于 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

blue_dvd 发表于 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测试还是不能打开链接。。

shano 发表于 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情况出现,
需要第三个参数

shano 发表于 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


    能获取到。那我到底是哪里错误?我加了空格也点不到- -
页: [1] 2
查看完整版本: [已解决]_IELinkClickByText函数的要求是什么