Jump to content

Recommended Posts

Posted

Hi all,

I'm hoping someone might be able to help me out, I did have a good search around but couldn't find anything relevant (and up to date).

I am trying to automate a web application, but I've got to a certain point and got stuck, the application displays a lot of controls and I want to run the search function, below is a small snip of the site:

<TD class="FIXEDCOLOUTSET" width="115" align="center">
<IMG id="search" title="Search" border="0" name="search" alt="Search" src="/search.gif" width="40" height="25" useMap="#search_button_map" /> 

<MAP onmouseup="setImageButtonState('search', 'normal');" onmouseover="setImageButtonState('search', 'rollover');" onmouseout="setImageButtonState('search', 'normal');" onmousedown="setImageButtonState('search', 'down');" onclick="openSearch(false);" name="search_button_map">
    <AREA coords="1,1,38,23" /></MAP>&nbsp; 
        <IMG id="search_stat" title="Search STAT" border="0" name="search_stat" src="search_stat.gif" width="40" height="25" useMap="#search_stat_button_map" /> 
    <MAP onmouseup="setImageButtonState('search_stat', 'normal');" onmouseover="setImageButtonState('search_stat', 'rollover');" onmouseout="setImageButtonState('search_stat', 'normal');" onmousedown="setImageButtonState('search_stat', 'down');" onclick="openSearch(true);reloadSTAT();" name="search_stat_button_map">
        <AREA coords="1,1,38,23" />
    </MAP>&nbsp; 
</TD>

I'm trying to run the function openSearch(false), I've tried:

$tags = _IETagNameGetCollection ($oIE, "map")

This returns nothing, I tried clicking the img button by searching for the ID but that did nothing.

$oField = _IEGetObjById($oIE, "search")  ; Gets the IMG but clicking does nothing
$oField2 = _IEGetObjByName ($oIE, "search_button_map") ; Getting the object fails - @error = 7

Is there any way I can call the JavaScript function directly, or can anyone advise me of a way to get to that map and simulate a click, it should produce a popup window to allow me to search (if that makes any difference).

Many thanks in advance.

Posted (edited)

Welcome to the forum.

First check and use this:

and this:

_IEFrameGetCollection ( ByRef $oObject [, $iIndex = -1] )

 

Edit:

after that say do you know anything new what you can say here.

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

Many thanks, I checked out your post, and adding in the error checking, this is very handy thank you, I was using the AutoIT debugger, which did tell me the same thing but it's always good to learn from the experts.

Basically the system reports @error = 7, @extended = 0

The map is inside an iframe could this be the issue?  It has a javascript function I want to call by pressing the image button.

code.png

 

 

Posted (edited)
  On 10/22/2015 at 1:53 PM, trevrobwhite said:

Basically the system reports @error = 7, @extended = 0

7=Nomatch

 

  On 10/22/2015 at 1:53 PM, trevrobwhite said:

The map is inside an iframe could this be the issue? 

Yes

_Example()
Func _Example()
    ; attach to IE
    Local $oIE = _IEAttach($sURL,'url')

    ; find IFrame object which contain this Map element object
    Local $oIEFrame = _IEFrameGetObjByName($oIE, 'tableHeaderFrame')

    ; get Map element object by reference to IFrame
    Local $oIEMap = _IEGetObjByName($oIEFrame,'search_button_map')

    ; click in Map element object
    _IEAction($oIEMap,'click')

EndFunc

 

http://www.w3schools.com/tags/tag_iframe.asp

"An inline frame is used to embed another document within the current HTML document."

 

 

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

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
  • Recently Browsing   0 members

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