Please help with the following problem.
I have written this following script to retrieve data kept in an iFrame (DATA_IFRAME) which is inside a frame (MAIN_FRAME) on page "Data_Page".
The script which I stripped of all error checking and diagnostics works as it should, but only on my development system running Windows 7 and IE9. It does not work on my production server which runs Windows 2003 and IE8. It also fails if I switch my IE9 into 'compatibility view'.
The script fails on this line:
Local $o_iframe = _IEFrameGetObjByName($o_frame, "DATA_IFRAME")
and produces the following messages:
C:\Program Files (x86)\AutoIt3\Include\IE.au3 (813) : ==> The requested action with this object has failed.:
If $oFrame.name = $s_Name Then Return SetError($_IEStatus_Success, 0, $oTemp.frames($s_Name))
If $oFrame.name = $s_Name Then Return SetError($_IEStatus_Success, 0, $oTemp.frames($s_Name)^ ERROR
Examining the HTML as returned from MAIN_FRAME I noticed that if I run IE9 the name value inside the <iframe> tag is in quotes (name="DATA_IFRAME") while under IE8 or IE9cv it is not (name=DATA_IFRAME).
I tried to upgrade IE on the server but IE9 for Windows Server 2003 it is not offered.
Any thoughts?
Thanks in advance.
I have written this following script to retrieve data kept in an iFrame (DATA_IFRAME) which is inside a frame (MAIN_FRAME) on page "Data_Page".
#include <IE.au3> Local $o_ie = _IEAttach("Data Page") Local $o_frame = _IEFrameGetObjByName($o_ie, "MAIN_FRAME") Local $o_iframe = _IEFrameGetObjByName($o_frame, "DATA_IFRAME") $text = _IEBodyReadHTML($o_iframe) ConsoleWrite($text & @CRLF)
The script which I stripped of all error checking and diagnostics works as it should, but only on my development system running Windows 7 and IE9. It does not work on my production server which runs Windows 2003 and IE8. It also fails if I switch my IE9 into 'compatibility view'.
The script fails on this line:
Local $o_iframe = _IEFrameGetObjByName($o_frame, "DATA_IFRAME")
and produces the following messages:
C:\Program Files (x86)\AutoIt3\Include\IE.au3 (813) : ==> The requested action with this object has failed.:
If $oFrame.name = $s_Name Then Return SetError($_IEStatus_Success, 0, $oTemp.frames($s_Name))
If $oFrame.name = $s_Name Then Return SetError($_IEStatus_Success, 0, $oTemp.frames($s_Name)^ ERROR
Examining the HTML as returned from MAIN_FRAME I noticed that if I run IE9 the name value inside the <iframe> tag is in quotes (name="DATA_IFRAME") while under IE8 or IE9cv it is not (name=DATA_IFRAME).
I tried to upgrade IE on the server but IE9 for Windows Server 2003 it is not offered.
Any thoughts?
Thanks in advance.