请问如何获得网页最新的ID?
ID的形式是这样的<a id="msg18357">,网页中每一条留言都会产生一个新的ID,一个页面中又有很多留言,所以想请问下怎么才能获得最新的ID? 使用其他方式很获取到那个数字部分,然后再获取id 回复 1# lisyofun
$aID = StringRegExp($sHtml, '(?i)<a\h*id="([^"]+)', 3)
正则获取所有ID, 最新ID无非是第一个或是最后一个吧. 回复 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,然后再得到最新的那个。 回复 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 这是对象操作法,改自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
LZ跟我之前的問題應該是一樣
推薦[原创] 网页快捕 2.8By风行者回复 5# komaau3 看看牛人回复的代码 感觉ObjCreate还是好深奥 _WinAPI_EnumProcessWindows 这个能行不?
页:
[1]