Jump to content

_IETableGetCollection dynamic index


abhayc
 Share

Recommended Posts

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 by abhayc
Link to comment
Share on other sites

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 by exodius
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...