找回密码
 加入
搜索
查看: 1750|回复: 4

[IE类操作] WEB链接模拟点击有时无效

  [复制链接]
发表于 2018-6-29 19:43:15 | 显示全部楼层 |阅读模式
抓取网页,模拟click点击页码链接,页码形式为1,2,3,4,5,6,7,8,9,10,...用了几种方式,有时有效,有时无效。也不知是什么原因。
[mw_shl_code=actionscript3,true]Local $oIE = _IECreate("http://10.?.?.?/HBWebApp/HOLIDAYAPP/PAGES/OutList.aspx")
Local $oLinks = _IELinkGetCollection($oIE)
        For $oLink In $oLinks

                Local $sLinkText = _IEPropertyGet($oLink, "OuterText")

                If $sLinkText = "2" Then

                        _IEAction($oLink, "click")
                        _IELinkClickByText($oIE, $sLinkText)
                ExitLoop
                EndIf
        Next
[/mw_shl_code]
也不知是IE问题还是什么版本问题,_IEAction($oLink, "click")和_IELinkClickByText($oIE, $sLinkText),不好使。用msgbox测试If $sLinkText = "2" Then,能够弹出,但click不执行。
后来又用_IELinkClickByIndex ($oIE, 30),第2页链接index为30,随便模拟点击,也没有反应。
最后没有办法,用了最原始的模拟键盘点击才成功,先用TAB到指定链接让后模拟Ctrl+enter模拟点击。
[mw_shl_code=applescript,true]If $i < 11 Then
                Send("{TAB " & 34 + $i & "}")
        Else
                If Mod($i,10)=0 Then
                Send("{TAB " & 35 + $i-10*(Int($i/10)-1) & "}")       
                       
                Else
                       
                Send("{TAB " & 35 + $i-10*(Int($i/10)) & "}")
                EndIf
        EndIf
        Sleep(3000)
        Send("^{ENTER}")
        _IELoadWait($oIE)
        Sleep(3000)[/mw_shl_code]
 楼主| 发表于 2018-6-29 19:44:34 | 显示全部楼层
有谁能知道_IEAction($oLink, "click")和_IELinkClickByText($oIE, $sLinkText)什么情况下有效呢?
发表于 2018-7-1 09:18:43 | 显示全部楼层
_IELinkGetCollection换成 _IEGetObjById试试
发表于 2018-7-3 10:44:34 | 显示全部楼层
最好有网页地址。否则没法判断你这个东西如何写。IE.au3本身主要的东西还是JS那些。你看它的源代码,主要是document.getElementByID之类的。基本上会HTML和简单JS就能基本驾驭这个东西。看源代码还是能学很多你不了解的东西。很难懂。但是成为高手的必经之路吧。
 楼主| 发表于 2018-7-3 15:25:34 | 显示全部楼层
谢谢楼上,我看了源代码,没有ID,所以无法用document.getElementByID判断。因为网页使用asp.net1.1编写的源代码。所以只能用键盘模拟点击连接了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-24 22:42 , Processed in 0.071322 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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