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

[IE类操作] 如何用autoit 做 ie 准确点 翻页的(下一页)(已解决)

[复制链接]
发表于 2011-4-16 06:58:51 | 显示全部楼层 |阅读模式
本帖最后由 qq123123 于 2011-4-19 19:10 编辑

如何用autoit 做Internet Explorer点下一页
比如下面这个网页,如何准确点击到 翻页 的 下一页

1 [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 找到相关结果约100,000,000个

http://www.baidu.com/s?wd=%CF%C2%D2%BB%D2%B3&n=2

虽然这个也能点,但是定位不准确!容易点错!
_IELinkClickByText ($oIE, "下一页")

下面是图片!




本帖子中包含更多资源

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

×
 楼主| 发表于 2011-4-16 15:14:27 | 显示全部楼层
第一次继续关注!
发表于 2011-4-16 17:22:03 | 显示全部楼层
本帖最后由 papapa314 于 2011-4-16 17:45 编辑

回复 1# qq123123


这个简单,用直接打开网址的方法。
如果当前网址为:http://www.baidu.com/s?wd=%CF%C2%D2%BB%D2%B3&pn=10
那么,点击下一页后相当于网址变成:
http://www.baidu.com/s?wd=%CF%C2%D2%BB%D2%B3&pn=20

那么我们就可以这样写:

#include<IE.au3>
$oIE=_IEAttach("百度搜索_下一页")
if IsObj($oIE) then

   $url=$oIE.LocationURL
 
   $num=StringRegExp($url,"=(\d+?)$",3)

   $string=StringRegExp($url,"(.+=)\d+?$",3)

   $newurl=$string[0]&String(Number($num[0]+10))
 
  _IENavigate($oIE,$newurl)

EndIf

发表于 2011-4-16 17:43:58 | 显示全部楼层
本帖最后由 papapa314 于 2011-4-16 17:47 编辑

还有一种方法是:

$oIE=_IECreate("http://www.baidu.com/s?wd=%CF%C2%D2%BB%D2%B3&n=2",0,1,1)
$links=_IELinkGetCollection($oIE)

For $link In $links
        If $link.outertext="下一页" And StringInStr($link.href,"http://www.baidu.com/s?wd=") Then
                MsgBox(0,0,$link.href)
                _IENavigate($oIE,$link.href,1)
        EndIf
Next
 楼主| 发表于 2011-4-16 19:14:06 | 显示全部楼层
回复 4# papapa314


    我自己想到了一种方法,就是可以点他的页数,比如 1 页  2页 也可以运行,谢谢楼上大哥哥的指导
        $i = 0
While $i <= 75
   $sText = _IEBodyReadText($oIE)
   _IELinkClickByText ($oIE, "["&$i&"]")
   If Not StringInStr($sText, "["&$i&"]") Then
   EndIf
  Sleep(1)
    $i = $i + 1
WEnd
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-2 08:38 , Processed in 0.108842 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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