AdmiralAlkex Posted June 9, 2012 Share Posted June 9, 2012 I'm working on something that is more or less a list of my games from Steam and now I want to get their capabilities too.Yes I could just do some string crunching, but that's no fun!Example page:#include <IE.au3> $oIE = _IECreate("http://store.steampowered.com/app/22650/?l=english")Just to be clear what I want:Code for that list:expandcollapse popup<div class="details_block"> <div class="game_area_details_specs"> <div class="icon"> <img align="top" src="http://cdn.store.steampowered.com/public/images/ico/ico_singlePlayer.gif"> </div> <div class="name">Single-player</div> </div> <div class="game_area_details_specs"> <div class="icon"> <img align="top" src="http://cdn.store.steampowered.com/public/images/ico/ico_coop.gif"> </div> <div class="name">Co-op</div> </div> <div class="game_area_details_specs"> <div class="icon"> <img align="top" src="http://cdn.store.steampowered.com/public/images/ico/ico_achievements.gif"> </div> <div class="name">Steam Achievements</div> </div> <div class="game_area_details_specs"> <div class="icon"> <img align="top" src="http://cdn.store.steampowered.com/public/images/ico/ico_leaderboards.gif"> </div> <div class="name">Steam Leaderboards</div> </div> <div class="game_area_details_specs"> <div class="icon"> <img align="top" src="http://cdn.store.steampowered.com/public/images/ico/ico_stats.gif"> </div> <div class="name">Stats</div> </div> <div class="game_area_details_specs"> <div class="icon"> <img align="top" src="http://cdn.store.steampowered.com/public/images/ico/ico_controller.gif"> </div> <div class="name">Controller enabled</div> </div> </div>If I could just somehow get an array containing the names from the details_block...I don't know where to go from here .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
ileandros Posted June 10, 2012 Share Posted June 10, 2012 (edited) I got this: #include <IE.au3> $oIE = _IECreate([url="http://store.steampowered.com/app/22650/?l=english"]http://store.steampowered.com/app/22650/?l=english[/url]) $oInputs = _IETagNameGetCollection($oIE, "div") For $oInput In $oInputs If String($oInput.classname) = "details_block" Then $button = $oInput ExitLoop Else ConsoleWrite("** Not this one: " & _IEPropertyGet($oInput, "innertext") & @LF) EndIf Next If IsObj($button) Then MsgBox(0, "We found them: ",_IEPropertyGet($button, "innertext") & @LF) Else ConsoleWrite("We never found them" & @LF) EndIf Exit The only problem is that there are more than one div with classname "details_block" so it gives resault of the other one above....Make a loop to find the others. Changing classname to this "game_area_details_specs" finds them but you should loop through it till it find them all because it find the only one. Hope that helps. Edited June 10, 2012 by ileandros I feel nothing.It feels great. Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted June 12, 2012 Author Share Posted June 12, 2012 I got this: #include <IE.au3> $oIE = _IECreate([url="http://store.steampowered.com/app/22650/?l=english"]http://store.steampowered.com/app/22650/?l=english[/url]) $oInputs = _IETagNameGetCollection($oIE, "div") For $oInput In $oInputs If String($oInput.classname) = "details_block" Then $button = $oInput ExitLoop Else ConsoleWrite("** Not this one: " & _IEPropertyGet($oInput, "innertext") & @LF) EndIf Next If IsObj($button) Then MsgBox(0, "We found them: ",_IEPropertyGet($button, "innertext") & @LF) Else ConsoleWrite("We never found them" & @LF) EndIf Exit The only problem is that there are more than one div with classname "details_block" so it gives resault of the other one above....Make a loop to find the others. Changing classname to this "game_area_details_specs" finds them but you should loop through it till it find them all because it find the only one. Hope that helps. Yes that helped alot, thank you!! After playing with it a bit I ended with this: #include <IE.au3> #include <Array.au3> $asList = _GetGameDetails() If $asList[0] <> "" Then _ArrayDisplay($asList) EndIf Func _GetGameDetails() Local $asDetails[1] $oIE = _IECreate("http://store.steampowered.com/app/22650/?l=english", 0, 0) $oDivs = _IETagNameGetCollection($oIE, "div") For $oDiv In $oDivs If String($oDiv.classname) = "game_area_details_specs" Then If IsObj($oDiv) Then $asDetails[UBound($asDetails) -1] = _IEPropertyGet($oDiv, "innertext") ReDim $asDetails[UBound($asDetails) +1] EndIf EndIf Next ReDim $asDetails[UBound($asDetails) -1] _IEQuit($oIE) Return $asDetails EndFunc Works great with Alien Breed, now on to integrate it in my script... .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
ileandros Posted June 12, 2012 Share Posted June 12, 2012 (edited) Works great with Alien Breed, now on to integrate it in my script...Which is?? I cant understand why you got those names??? What kind of automatation can you get displaying those in array???I have never played that game though.Good luck! Edited June 12, 2012 by ileandros I feel nothing.It feels great. Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted June 12, 2012 Author Share Posted June 12, 2012 Which is?? I cant understand why you got those names??? What kind of automatation can you get displaying those in array???I have never played that game though.Good luck!It's so the script can display a list of the available "tags" and then if the user selects any of them only games with that "tag" is displayed.Maybe you will see when it's finished.I haven't really played that game either .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
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