Sign in to follow this  
Followers 0

IE9 Automation Problems

101 posts in this topic

Posted

It's fixed in beta 3.3.7.18.

Share this post


Link to post
Share on other sites



Posted

I looked at http://www.autoitscript.com/site/autoit/downloads/ but i dont find this version. Latest version i can find to download is 3.3.6.1. How can i download AutoIt beta 3.3.7.18.

Share this post


Link to post
Share on other sites

Posted

Thank you!!! This helps!! When do you plan to move this to production version of AutoIt. Could there be any issue using beta?

Share this post


Link to post
Share on other sites

Posted

Thank you!!! This helps!! When do you plan to move this to production version of AutoIt. Could there be any issue using beta?

Not particularly. There are issues in production releases too. They just pick times to release things.

Share this post


Link to post
Share on other sites

Posted

Beta is what it is. Possibly bug free and possibly not. I can tell you that there have been several bugs fixed in the current Beta. Have any new bugs been introduced? Probably; but the devs won't know until someone runs the beta and reports them.

Share this post


Link to post
Share on other sites

Posted

OK..I have IE9 on test machines...I will test soon and report the results here...Thanks everyone for your time and help!!

Share this post


Link to post
Share on other sites

Posted

Make sure no animal is harmed during tests. We at us care.

Share this post


Link to post
Share on other sites

Posted

Hello again guys and gals, :D

I found another issue with IE9 and _IEFormElementOptionselect today...

The example script below fills in only the birth date on the DailyMotion registration form and then submit the form.

In IE9, along with the errors for the other required fields, you get an error for the birthday too: "Your birthdate is required".

In IE8, the errors are only shown for the other fields, and the birthday is fine.

The tests are made with AutoIt 3.3.7.20

#include <IE.au3>
$oIE=_IECreate("http://www.dailymotion.com/register")
$oForm=_IEFormGetObjByName($oIE,"form_register")
$oSelect=_IEFormElementGetObjByName($oForm,"birthdate_month")
_IEFormElementOptionSelect($oSelect, "10", 1, "byText")
$oSelect2=_IEFormElementGetObjByName($oForm,"birthdate_day")
_IEFormElementOptionSelect($oSelect2, "10", 1, "byText")
$oSelect3=_IEFormElementGetObjByName($oForm,"birthdate_year")
_IEFormElementOptionSelect($oSelect3, "1960", 1, "byText")
$oSubmit=_IEFormElementGetObjByName($oForm,"register_submit")
_IEAction($oSubmit,"click")

Share this post


Link to post
Share on other sites

Posted

Time for a Trac bug report for the latest beta. The following code triggers the event routine showing an onchange event with 3.3.6.1 with IE9 in both IE9 Standards mode and compatability mode, but not with 3.3.7.21 in either mode.

Please enter the report and reply with a cross reference here.

Dale

#include <IE.au3>

$oIE = _IECreate("[url="http://www.dailymotion.com/register"]http://www.dailymotion.com/register[/url]")
 
$oForm = _IEFormGetObjByName($oIE, "form_register")
$oSelect = _IEFormElementGetObjByName($oForm, "birthdate_month")

ObjEvent($oSelect, "EVT_0")

$oSelect.fireEvent("onChange")

Sleep(1000)

Exit

Func EVT_0($s)
 ConsoleWrite("Event: " & $s & @CRLF)
EndFunc

Share this post


Link to post
Share on other sites

Posted

Time for a Trac bug report for the latest beta. The following code triggers the event routine showing an onchange event with 3.3.6.1 with IE9 in both IE9 Standards mode and compatability mode, but not with 3.3.7.21 in either mode.

Please enter the report and reply with a cross reference here.

Dale

#include <IE.au3>

$oIE = _IECreate("[url="http://www.dailymotion.com/register"]http://www.dailymotion.com/register[/url]")

$oForm = _IEFormGetObjByName($oIE, "form_register")
$oSelect = _IEFormElementGetObjByName($oForm, "birthdate_month")

ObjEvent($oSelect, "EVT_0")

$oSelect.fireEvent("onChange")

Sleep(1000)

Exit

Func EVT_0($s)
ConsoleWrite("Event: " & $s & @CRLF)
EndFunc

Does it work in any of the other recent betas?

Share this post


Link to post
Share on other sites

Posted

Function must be named EVT_0onchange in order for that code to work.

DaleHohm exhibits using undocumented feature that was removed from the language.

Share this post


Link to post
Share on other sites

Posted (edited)

Ah, you're right. The following code shows that the events are being fired in all cases and that the birthdate validation message appears when in IE9 standards mode, but not in compatability mode.

In this case, I do not know what is different on that page, dv8. It will take digging into the validation routines to see that they are relying upon.

Dale

#include <IE.au3>

$oIE = _IECreate([url="http://www.dailymotion.com/register"]http://www.dailymotion.com/register[/url])

$oForm = _IEFormGetObjByName($oIE, "form_register")
$oSelect1 = _IEFormElementGetObjByName($oForm, "birthdate_month")
$oSelect2=_IEFormElementGetObjByName($oForm,"birthdate_day")
$oSelect3=_IEFormElementGetObjByName($oForm,"birthdate_year")
$oSubmit=_IEFormElementGetObjByName($oForm,"register_submit")

ObjEvent($oSelect1, "EVT_")
ObjEvent($oSelect2, "EVT_")
ObjEvent($oSelect3, "EVT_")
ObjEvent($oSubmit, "EVT_")

_IEFormElementOptionSelect($oSelect1, "10", 1, "byText")
_IEFormElementOptionSelect($oSelect2, "10", 1, "byText")
_IEFormElementOptionSelect($oSelect3, "1960", 1, "byText")
_IEAction($oSubmit,"click")

Sleep(1000)

Exit

Func EVT_onChange()
    Local $o = @COM_EventObj
    ConsoleWrite("Event onChange " & $o.name & @CRLF)
EndFunc

Func EVT_onClick()
    Local $o = @COM_EventObj
    ConsoleWrite("Event onClick " & $o.name & @CRLF)
EndFunc
Edited by DaleHohm

Share this post


Link to post
Share on other sites

Posted

Thanks guys! I did some tests with other forms with normal drop-downs and the events are fired OK there with IE9 in normal mode. Apparently DaleHohm is right and this site is using some twisted validation routines, but what bugs me is that my demonstration code works just fine on my other PC with IE8. So it must be something M$ have done with IE9. :D

Share this post


Link to post
Share on other sites

Posted (edited)

Hello again Dale and everyone else,

I run into something else today...

Before the recent COM changes in AutoIt, the following script would loop forever if you close the browser window before it has finished loading the page:

#include <IE.au3>
_IECreate("http://youtube.com")

Now with the latest beta the script crashes with the message: "The requested action with this object has failed." I realize this is the right way to work, but is there any way I can prevent these kind of errors from crashing the script?

Edited by dv8

Share this post


Link to post
Share on other sites

Posted

Hello again Dale and everyone else,

I run into something else today...

Before the recent COM changes in AutoIt, the following script would loop forever if you close the browser window before it has finished loading the page:

#include <IE.au3>
_IECreate("http://youtube.com")

Now with the latest beta the script crashes with the message: "The requested action with this object has failed." I realize this is the right way to work, but is there any way I can prevent these kind of errors from crashing the script?

Register a com error handler?

Share this post


Link to post
Share on other sites

Posted (edited)

I have an issue with a Gui and a html embedded if the url use the html5 code .

I test on Vista 32bits and IE9!

#include <GUIConstantsEx.au3>
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=ArtOfTouch.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Fileversion=0.1.0.0
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <IE.au3>
#include <WindowsConstants.au3>
#include <WindowsConstants.au3>
#include <misc.au3>

_Singleton(@ScriptName)
$WindowsName = "ArtOfTouch"
$url = "https://www.artoftouch.com/en-us/#/create";lecture de la page html
_IEErrorHandlerRegister()
$ie = _IECreateEmbedded()
; Create Reciver window
$hwmd_Reciver = GUICreate($WindowsName, 800, 500, 0, 0);,$WS_OVERLAPPEDWINDOW)
$ieobject = GUICtrlCreateObj($ie, 0, 0, 800, 500)

_IENavigate($ie, $url, 0)
;msgbox(0,"",@error)
GUISetState(@SW_SHOW)

While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
Sleep(100)
Wend

Thanks for all help !

Edited by pierrotm777

Share this post


Link to post
Share on other sites

Posted

I have entered my new script 'Show IE objects' in the example scrips area.

Because all Form elements are accessed, the additonal time spent by the new beta 3.3.7.21 becomes significant.

Please reply.

Share this post


Link to post
Share on other sites

Posted

Most delay seems to be due to the Excel method

$oExcel.Cells($Row, $Column).Comment.Text($str)

in Example Scripts: Show IE objects

My other new Example script

Script line generator for Internet Explorer

that uses no Excel methods, runs smoothly.

Share this post


Link to post
Share on other sites

Posted

Workaround: replace:

$oExcel.Cells($Row, $Column).Comment.Text($str)

by

$oExcel.Cells($Row, $Column).value = $str

$oExcel.Cells($Row, $Column).Interior.Color = 255 ; Red

and add the comment marker in front of the lines:

; $oExcel.Selection.Comment.Visible = False

; $oExcel.Cells($Row, $Column).AddComment

; $oExcel.Cells($Row, $Column).Comment.Shape.Width = 250

; $oExcel.Cells($Row, $Column).Comment.Shape.Height = 100

Share this post


Link to post
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
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.