lisyofun 发表于 2013-9-2 20:58:57

请问如何获得网页最新的ID?


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

xlj310 发表于 2013-9-2 23:22:21

使用其他方式很获取到那个数字部分,然后再获取id

user3000 发表于 2013-9-2 23:46:30

回复 1# lisyofun

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

正则获取所有ID, 最新ID无非是第一个或是最后一个吧.

lisyofun 发表于 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,然后再得到最新的那个。

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

user3000 发表于 2013-9-3 23:35:03

这是对象操作法,改自4楼VBSLocal $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

xjdjpbp 发表于 2013-9-6 23:46:36

LZ跟我之前的問題應該是一樣

推薦[原创] 网页快捕 2.8By风行者回复 5# komaau3

tutou9997 发表于 2013-9-7 23:05:20

看看牛人回复的代码 感觉ObjCreate还是好深奥

ghxbs8900 发表于 2013-9-9 12:04:44

_WinAPI_EnumProcessWindows    这个能行不?
页: [1]
查看完整版本: 请问如何获得网页最新的ID?