Tardis Posted July 18, 2014 Posted July 18, 2014 (edited) Hi all Im still New To Autoit and would realy like some help ... I have gone through some examples and other code on the forum but now I am stuck see comments on what I want to do . expandcollapse popup#RequireAdmin #include <IE.au3> #include <MsgBoxConstants.au3> #include <File.au3> #include <String.au3> #include <Array.au3> Global $oIE = _IECreate("https://www.harryhomers.org/et/forum/viewtopic.php?f=89&t=4309", 0, 0, 1, 0) Global $oElements = _IETagNameAllGetCollection($oIE) Global $oID = _IEGetObjById($oIE, "p41827") Global $ListArray[1] #cs ; the list I want to get is 1 - 20 max 30 and there names . The DIV ID is p41827 <div class="content">HarryHomers can be found at 85.236.100.205:<span style="font-weight: bold">27960</span><br /><br /><ul>HH Bot Multi campaign **<br /><br />1. NAME 1<br />2. NAME 2<br />3. NAME 3<br />4. NAME 4<br /> 5. NAME 5<br />6. NAME 6<br />7. NAME 7<br />8. NAME 8<br />9. NAME 9<br />10. NAME 10<br />11. NAME 11<br />12. NAME 12<br />13. NAME 13<br />14. NAME 14<br /> 15. NAME 15<br />16. NAME 16<br />17. NAME 17<br />18. NAME 18<br />19. NAME 19<br />20. NAME 20<br /> </ul> #ce For $oElement in $oElements Local $_sSourceTAG = $oElement.tagname Local $_sSourceTEXT = $oElement.innerText Local $_sSourceID = $oElement.id Local $_sSourceHTML = $oElement.innerhtml If $_sSourceID = "p41827" Then ;Test message box MsgBox($MB_SYSTEMMODAL, "MY TAG ID", "Innertext: " & $_sSourceTAG & @CRLF & "id: " & $_sSourceID & @CRLF & "innerText: " & $_sSourceTEXT) MsgBox($MB_SYSTEMMODAL, "MY HTML", "Innerhtml: " & "id: " & $_sSourceID & $_sSourceHTML) $oData = _IEPropertyGet($oIE, "strong") $Check = StringRight($oData, 11) If $Check = "ohnDory</A>" Then ;Test message box MsgBox($MB_SYSTEMMODAL, "SEARCH FOUND", "The characters are: " & $Check ) $ArraySplit1 = StringSplit($oData, ".") For $ArrayItem in $ArraySplit1 $ArrayItem = StringSplit($ArrayItem, "<BR>", 1) If $ArrayItem[0] > 1 Then If $ArrayItem[2] > 0 Then $ArrayItem[1] = StringStripWS($ArrayItem[1], 3) _ArrayAdd($ListArray, $ArrayItem[1]) EndIf EndIf If StringInStr($ArrayItem[1], "</UL>") Then $POS = StringInStr($ArrayItem[1], "</UL>") - 1 $String = StringLeft($ArrayItem[1], $POS) $String = StringStripWS($String, 3) _ArrayAdd($ListArray, $String) EndIf Next Else ; Not correct so ignore MsgBox($MB_SYSTEMMODAL, "NOT FOUND", "The characters are: " & $Check ) EndIf EndIf Next _ArrayDisplay($ListArray) _ArrayReverse($ListArray) _ArrayPop($ListArray) _ArrayReverse($ListArray) _ArrayDisplay($ListArray, "Map List Array Final View") sleep(2500) _IEQuit($oIE) #cs ; note the html (map names) does change once a month ; save txt file #ce ;_FileWriteLog(@TempDir & "\list.txt", $ListArray) Edited July 22, 2014 by Tardis
Solution Herb191 Posted July 19, 2014 Solution Posted July 19, 2014 Well, there are a lot of ways to do this but here is two ways: #include <IE.au3> #include <Array.au3> #include <String.au3> $oIE = _IECreate("https://www.harryhomers.org/et/forum/viewtopic.php?f=89&t=4309") $sHTML = _IEBodyReadHTML($oIE) Dim $ListArray[1] For $i = 1 To 20 $aNames = _StringBetween($sHTML, ">" & $i & ". ", "<") If IsArray($aNames) Then _ArrayAdd($ListArray, $aNames[0]) Next _ArrayDisplay($ListArray) _IEQuit($oIE) ;or you can do this $dHTML = InetRead(("https://www.harryhomers.org/et/forum/viewtopic.php?f=89&t=4309")) $sHTML = BinaryToString($dHTML) Dim $ListArray[1] For $i = 1 To 20 $aNames = _StringBetween($sHTML, ">" & $i & ". ", "<") If IsArray($aNames) Then _ArrayAdd($ListArray, $aNames[0]) Next _ArrayDisplay($ListArray) Tardis 1
mikell Posted July 19, 2014 Posted July 19, 2014 #Include <Array.au3> $sTxt = BinaryToString(InetRead("https://www.harryhomers.org/et/forum/viewtopic.php?f=89&t=4309")) $aItems = StringRegExp($sTxt, '>\d+\.\h+([^<]+)', 3) _ArrayDisplay($aItems) Tardis 1
Tardis Posted July 19, 2014 Author Posted July 19, 2014 Thank you - Herb191 and mikell - a lot less code to get confused about
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now