abhayc Posted September 17, 2010 Posted September 17, 2010 (edited) I have a problem with _IETableGetCollection .. I need to access a table in a HTML page. I am able to do it using _IETableGetCollection. But my problem is, content of the final generated HTML is dynamic in the sense, the table order may change. Is there any built in function or a user defined function where in we can locate the table by say table id, or some text inside first cell of the table ... ? I am thinking of writing a function myself where in I parse the html body and look for the 'text' and thus locate the table #, or something like that, but just wanted to check if someone was already in the same boat and has figured out a better way to handle this. Thanks Abhay Edited September 17, 2010 by abhayc
exodius Posted September 17, 2010 Posted September 17, 2010 (edited) What you're thinking is pretty much the best way to do it, here's an example: #include <IE.au3> #include <Array.au3> _IEErrorHandlerRegister() $oIE = _IECreate ("http://www.autoitscript.com") For $x = 0 to 10000 $oTable = _IETableGetCollection ($oIE, $x) If @error Then ExitLoop $aTableData = _IETableWriteToArray ($oTable, True) If UBound ($aTableData) > 1 Then If StringInStr ($aTableData[1][0], "Back To Top") Then ; Table #4 has Back To Top in element [1][0] _ArrayDisplay($aTableData, "Table #: " & $x) MsgBox (0, "Found it!", "Oh hey look, you found table #4!") ExitLoop EndIf EndIf _ArrayDisplay($aTableData, "Table #: " & $x) Next Edited September 17, 2010 by exodius
DaleHohm Posted September 17, 2010 Posted September 17, 2010 If the table has an ID, just use _IEGetObjById() Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble
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