找回密码
 加入
搜索
查看: 19961|回复: 8

[IE类操作] 请问如何获得网页最新的ID?

  [复制链接]
发表于 2013-9-2 20:58:57 | 显示全部楼层 |阅读模式

ID的形式是这样的<a id="msg18357">,网页中每一条留言都会产生一个新的ID,一个页面中又有很多留言,所以想请问下怎么才能获得最新的ID?

本帖子中包含更多资源

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

×
发表于 2013-9-2 23:22:21 | 显示全部楼层
使用其他方式很获取到那个数字部分,然后再获取id
发表于 2013-9-2 23:46:30 | 显示全部楼层
回复 1# lisyofun

$aID = StringRegExp($sHtml, '(?i)<a\h*id="([^"]+)', 3)

正则获取所有ID, 最新ID无非是第一个或是最后一个吧.
 楼主| 发表于 2013-9-3 20:58:26 | 显示全部楼层
回复 3# user3000

    谢谢,这也是一个解决方法,我还想知道,有没有什么函数能直接读取网页中的所有ID呢?
就像VBS的代码一样。
Sub MsgContent()
Set ie = CreateObject("InternetExplorer.Application")
ie.NaviGate "http://192.168.1.230:887/guestbook/"
ie.visible = false
Do until ie.readystate = 4
Wscript.Sleep 200
Loop

For Each Aelement In ie.document.anchors 
    If Aelement.id > msgindex Then
        msgindex   = Aelement.id         
        Set objele = Aelement            
    End If
Next  
msgbox objele.childNodes(0).outertext,64,"留言提醒"
ie.quit                                  
Set ie = Nothing
End Sub
vbs的这段代码就可以读取网页中的所有ID,然后再得到最新的那个。
发表于 2013-9-3 22:49:01 | 显示全部楼层
回复 4# lisyofun

我不太会用AU3来'操作IE'. 下面是用1楼的附件进行的一点测试. 勉强可以获取相应内容, 你可以参考一下.
#include<ie.au3>
Local $oIE, $aTables, $element, $i = 0
$oIE = _IECreate('d:\22.html', 0, 0, 1)
$aTables =   _IETableGetCollection($oIE)
If Not @error Then
 MsgBox(64, '第一条留言', _IETableGetCollection($oIE, 1).outertext)
 For $element In $aTables
    MsgBox(0, $i, $element.outertext)
    $i += 1        
 Next
EndIf
_IEQuit($oIE)                          
$oIE = Null
发表于 2013-9-3 23:35:03 | 显示全部楼层
这是对象操作法,改自4楼VBS
Local $oIE,$element
Local $sMsgIndex = 'msg18358'
$oIE = ObjCreate("InternetExplorer.Application")
$oIE.navigate('d:\22.html')
$oIE.visible = False
While 1
   If $oIE.readyState = "complete" Or $oIE.readyState = 4 Then ExitLoop
   Sleep(10)
WEnd
 For $element In $oIE.document.anchors 
         ;MsgBox(0, $element.id, $element.outertext)
         If $element.id > $sMsgIndex Then
                 $sMsgIndex = $element
                 ExitLoop
         EndIf
 Next
MsgBox(64, '留言提醒', $sMsgIndex.outertext)
_IEQuit($oIE)                          
$oIE = Null
发表于 2013-9-6 23:46:36 | 显示全部楼层
LZ跟我之前的問題應該是一樣

推薦[原创] 网页快捕 2.8  By  风行者
回复 5# komaau3
发表于 2013-9-7 23:05:20 | 显示全部楼层
看看牛人回复的代码 感觉ObjCreate还是好深奥
发表于 2013-9-9 12:04:44 | 显示全部楼层
_WinAPI_EnumProcessWindows    这个能行不?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 10:47 , Processed in 0.076796 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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