Jump to content

Ie.au3 T2.0 Internet Explorer Automation Library


DaleHohm
 Share

Recommended Posts

  • Replies 252
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

For anyone that hasn't seen the 1st version of this UDF (like me) it's kind of confusing as to what it all does...

Not even the documentation explains what the main purpose of the script is :-/

Anyone care to explain? maybe give some exmpales? Thanx.

Good Point. I'll try to get that addressed.

In short, the UDF allows you to either create or attach to an IE browser (either visible or invisible) and do just about anything you could do with it interactively with the mouse and keyboard, but do it through script. You can navigate to pages, click links, fill and submit forms etc. You can also do things you cannot do interactively like change or rewrite page content and javascripts (your in-memory copy, not back on the server).

There are a series of examples for V1 of the script that you can look through to get a flavor. There are 31 pages of replies to that post and a search of V3 Support for IE.au3 will net you a lot more.

Have Fun,

Dale

Edit: typo

Edited by DaleHohm

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

@Joke758

You must have the AutoIt beta installed. 3.1.1.0 has no COM support.

Won't work for me :)

>Running:(3.1.1.0):(:\autoit-3\autoit3.exe "D:\autoit-3\Include\IE.au3"

Dale

P.S. Oh and you not only have to have the beta installed, you have to choose to run it instead of the production release. In SciTe you can use Alt+F5 or you can make it the default using the AutoIt Beta startmenu item "Toggle AU3 Beta".

Edit: added P.S.

Edited by DaleHohm

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

Dale,

You should 'ByRef' the objects you use.

Otherwise the functions will keep making copies instead of using the original.

Well, duh! Thanks SlimShady -- I'll make those changes.

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

I'm very pleased to announce the test release T2.0-0 of the Internet Explorer Automation Library, IE.au3

Dale, Thank you for your tour de force! I will try the new version with one of my scripts at work. I use ie.au3 to log into the Dell support website. Logging in to that site requires user names, passwords, button clicks, check boxes, authentication fields, and takes a long time to do it manually. With 400+ machines to repair, your code allows me to log in in less than a minute, and save a lot of my time! Thanks again...
...by the way, it's pronounced: "JIF"... Bob Berry --- inventor of the GIF format
Link to comment
Share on other sites

First

Great Job Dale... again

Second

I can already see some minor problems with the mix-match of IE.au3's older and newer versions in posted errors on other threads

I would strongly have suggested that you realeased this new version as

IE2.au3 or IET2.au3

I dont forsee all of the scripts written with IE.au3 ( older version) being re-made just to use the new version.

Thus as for myself, its a simple as having the two files

IE.au3 and IE2.au3 in my include folder and just changing the #Include to one of those

I really think it would be simpler if you could change the title and suggested use to IE2.au3. As most programs evolve, they have distinguishable numbering also... ver 1.5, ver 1.6 etc

More-so, to eliminate confussion.

Thanks again

Valuater

8)

Edited by Valuater

NEWHeader1.png

Link to comment
Share on other sites

Thanks.

Second

I can already see some minor problems with the mix-match of IE.au3's older and newer versions in posted errors on other threads

If you can give me specifics I'll consider your suggestion. I know of none at this point however.

I was careful to make the new version fully compatable with version 1 scripts with the inclusion of the deprecated functions.

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

i cant seem to find any at the moment, however, the ones i noted had something like

"Function called with incorrect number of parameters"

when it was written in IE2.au3 and the user had IE.au3

I guess that could be considered similar to not updating to the current beta

Thanks for your hard work... and continued support of IE.au3

Valuater

8)

NEWHeader1.png

Link to comment
Share on other sites

  • Developers

I would strongly have suggested that you realeased this new version as

IE2.au3 or IET2.au3

I dont forsee all of the scripts written with IE.au3 ( older version) being re-made just to use the new version.

I understand your issue but wouldn't want to call it IEt2.au3 when we integrate it into the standard UDF's.

Its the scripters choise to upgrade to this version.

I Prefer IE.au3 for integration....

:)

Edited by JdeB

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

@JdeB - my logic exactly

i cant seem to find any at the moment, however, the ones i noted had something like

"Function called with incorrect number of parameters"

when it was written in IE2.au3 and the user had IE.au3

I guess that could be considered similar to not updating to the current beta

Thanks for your hard work... and continued support of IE.au3

Valuater

8)

I'd really like to know about this if you can find specifics. It would indicate that I am not supplying a default value for a particular parameter and it would be easy to fix. Again, my goal is to make it easily backwards compatible, so I will treat any such reports as bugs.

The one exception to this will be _IECreate as the single parameter it took in the first version was $f_visible. I watched the way that people used IE.au3 and noted that it was almost always _IECreate followed by _IENavigate and it made sense to allow a URL to be passed to _IECreate to cut out the extra step. I didn't want to leave $f_visible as the first parameter because it is not used in most cases and would force people to trip over it each time.

The only other option I could think of (besides the temporary kludge I have now of checking to see if the $s_URL was 0 or 1) was to come up with a new function to replace _IECreate and to deprecate _IECreate. I couldn't come up with a name that made more sense than _IECreate and every single script written with IE.au3 uses it today, so I really didn't want to go that route.

Ah... thanks for forcing me to think through this again... I know what to do. I don't want that kludge to get executed by default when the official release is done, but what I can do is make it conditional based on a global variable ($_IECreate_Compatability = 1 or something like that). I'll define that variable in the IEDeprecated.au3 file that I release and we'll be all set. Cool.

So again, my goal is to make it fully backward compatible (although I will eventually force you to include IEDeprecated.au3) and if you can show me anywhere it is not I'll treat it as a bug.

thanks,

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

1.

$_IECreate_Compatability = 1 or something like that)

i think thats a great idea

2.

I want to make sure you understand...

it was written in IE2.au3 and the user had IE.au3

the script was written with IE2.au3 and the user had IE.au3 in the include folder, so when the function call with additional parameters like

_IECreate($s_Url = "about:blank", $f_tryAttach = 0, $f_visible = 1, $f_wait = 1, $f_takeFocus = -1) ; IE2.au3

was read by the function in IE.au3

Func _IECreate($f_visible = 1) ; IE.au3

the error is

"C:\Program Files\AutoIt3\SciTE\CompileAU3\CompileAU3.exe" /run /beta /ErrorStdOut /in "C:\Program Files\AutoIt3\Examples\My Stuff\Fake-Emailer.au3" /autoit3dir "C:\Program Files\AutoIt3\beta" /UserParams

>Running AU3Check (1.54.1.1) params: from:C:\Program Files\AutoIt3\beta

C:\Program Files\AutoIt3\Examples\My Stuff\Fake-Emailer.au3(11,59) : ERROR: _IECreate() called with wrong number of args.

$oIE = _IECreate("http://www.fake-mailer.com/fmlite/",0, 1)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\PROGRA~1\AutoIt3\beta\Include\IE.au3(216,31) : REF: definition of _IECreate().

Func _IECreate($f_visible = 1)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Program Files\AutoIt3\Examples\My Stuff\Fake-Emailer.au3(14,39) : ERROR: _IEFormGetCollection() called with wrong number of args.

$o_form = _IEFormGetCollection($oIE, 0)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\PROGRA~1\AutoIt3\beta\Include\IE.au3(676,37) : REF: definition of _IEFormGetCollection().

Func _IEFormGetCollection($o_object)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Program Files\AutoIt3\Examples\My Stuff\Fake-Emailer.au3(27,25) : ERROR: _IEFormSubmit() called with wrong number of args.

_IEFormSubmit($o_form, 0)

~~~~~~~~~~~~~~~~~~~~~~~~^

C:\PROGRA~1\AutoIt3\beta\Include\IE.au3(963,30) : REF: definition of _IEFormSubmit().

Func _IEFormSubmit($o_object)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

C:\Program Files\AutoIt3\Examples\My Stuff\Fake-Emailer.au3 - 3 error(s), 0 warning(s)

!>AU3Check ended.rc:2

>Exit code: 0 Time: 6.635

i dont think there is anything you can do to fix this... the user just needs to up-date to the latest...

IE2.au3

hope that helps

8)

Edited by Valuater

NEWHeader1.png

Link to comment
Share on other sites

Actually, i thought this was a good way of handling the url

Switch String($s_Url); Temporary campatability mode for pre V2.0 code
        Case "0"
            $s_Url = "about:blank"
            $f_visible = 0
        ; must Warn about changed functionality
        Case "1"
            $s_Url = "about:blank"
            $f_visible = 1
        ; must Warn about changed functionality
        Case Else
        ;;;
    EndSwitch

8)

NEWHeader1.png

Link to comment
Share on other sites

1.

i think thats a great idea

2.

I want to make sure you understand...

the script was written with IE2.au3 and the user had IE.au3 in the include folder, so when the function call with additional parameters like

_IECreate($s_Url = "about:blank", $f_tryAttach = 0, $f_visible = 1, $f_wait = 1, $f_takeFocus = -1) ; IE2.au3

was read by the function in IE.au3

Func _IECreate($f_visible = 1) ; IE.au3

the error is

i dont think there is anything you can do to fix this... the user just needs to up-date to the latest...

IE2.au3

hope that helps

8)

Oh, OK, I understand.

Yes, upgrading will be the answer, but there is one other thing in the new version that can help if the script writer wants to do the work (but that was your point wasn't it...). I have added the following Const array to the new version:

Global Const $IEAU3VersionInfo[5] = ["T", 2, 0, 0, "20060504"]

I hadn't decided for certain whether I was going to document it or not, but you make a good case for it.

$IEAU3VersionInfo[0]= Release Type (T or V)

$IEAU3VersionInfo[1] = Major Version

$IEAU3VersionInfo[2] = Minor Version

$IEAU3VersionInfo[3] = Sub Version

$IEAU3VersionInfo[4] = Release Date (YYYYMMDD)

The first version of IE.au3 will not have this constant defined and future versions will be able to use this data to compare.

Dale

Edited by DaleHohm

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

good idea Dale

My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
Share on other sites

There are a series of examples for V1 of the script that you can look through to get a flavor.

Thanx for the examples, be sure to have some of them in your nicely made .chm file, maybe as the first page you get to, before the the "User Defined Function Notes"-page :)

I also want to thank you for this awsome UDF, never seen anything quite like it and will come in great handy.

Edited by faldo
Link to comment
Share on other sites

  • Developers

Thanx for the examples, be sure to have some of them in your nicely made .chm file, maybe as the first page you get to, before the the "User Defined Function Notes"-page :)

I also want to thank you for this awsome UDF, never seen anything quite like it and will come in great handy.

The helpfile is an "extract" of the standard UDF helpfile, thats why the "User Defined Function Notes" page is in it. It will only allow examples at the bottom of the Function pages.

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

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...