diikee Posted May 21, 2008 Share Posted May 21, 2008 DOM<TD style="PADDING-LEFT: 20px; PADDING-BOTTOM: 2px" id=zoomin_button><UL id=buttonh><LI class=zoomin><A onmouseup="return stopZoomIn();" class=zoomin onmouseover="window.status='zoom in'; return true;" onmouseout="window.status=''; stopThreads()" onmousedown="return startZoomIn();" onclick="return false" href=""> </A></LI></UL></TD>Function been calledfunction startZoomIn() { document.alinkColor="#009999"; zooming = true; if (FirstZoom == false) doFirstZoom (true); setTimeout("zoomInThread()", 250); return false;}$oElements = _IETagNameGetCollection ($oIE, "A") For $oElement In $oElements If String($oElement.class) = "zoomin" Then ConsoleWrite("I found it - it is $oElement" & @CR) MouseDown("left") MouseUp("left") EndIf Nexterror:C:\Program Files\AutoIt3\Examples\Helpfile\iqtest.au3 (25) : ==> The requested action with this object has failed.: If String($oElement.class) = "zoomin" Then If String($oElement.class^ ERROR Link to comment Share on other sites More sharing options...
PsaltyDS Posted May 21, 2008 Share Posted May 21, 2008 error:C:\Program Files\AutoIt3\Examples\Helpfile\iqtest.au3 (25) : ==> The requested action with this object has failed.: If String($oElement.class) = "zoomin" Then If String($oElement.class^ ERRORTry $oElement.classname vice .class. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
diikee Posted May 21, 2008 Author Share Posted May 21, 2008 (edited) $ozis = _IETagnameGetCollection($oIE, "A")For $ozi in $ozis If String($ozi.className) = "zoomin" Then _IEAction($ozi, "focus") $iScreenX = _IEPropertyGet($ozi, "screenx") $iScreenY = _IEPropertyGet($ozi, "screeny") $iBrowserX = _IEPropertyGet($ozi, "browserx") $iBrowserY = _IEPropertyGet($ozi, "browserY") $iWidth = _IEPropertyGet($ozi, "width") $iHeight = _IEPropertyGet($ozi, "height") MouseMove($iScreenX + $iWidth, $iScreenY) MouseMove($iScreenX + $iWidth, $iScreenY + $iHeight) MouseMove($iScreenX, $iScreenY + $iHeight) MouseMove($iScreenX, $iScreenY) MouseMove($iScreenX + $iWidth/2, $iScreenY + $iHeight/2) Sleep(500) MouseClick("left") Sleep(500) MouseDown("left") MouseUp("left") EndIfNextHow do you click on the buttong, the iepropertyget --> positions the mouse in reference to the browser but not the object or element?? Edited May 21, 2008 by diikee Link to comment Share on other sites More sharing options...
PsaltyDS Posted May 21, 2008 Share Posted May 21, 2008 (edited) $ozis = _IETagnameGetCollection($oIE, "A")For $ozi in $ozis If String($ozi.className) = "zoomin" Then _IEAction($ozi, "focus") $iScreenX = _IEPropertyGet($ozi, "screenx") $iScreenY = _IEPropertyGet($ozi, "screeny") $iBrowserX = _IEPropertyGet($ozi, "browserx") $iBrowserY = _IEPropertyGet($ozi, "browserY") $iWidth = _IEPropertyGet($ozi, "width") $iHeight = _IEPropertyGet($ozi, "height") MouseMove($iScreenX + $iWidth, $iScreenY) MouseMove($iScreenX + $iWidth, $iScreenY + $iHeight) MouseMove($iScreenX, $iScreenY + $iHeight) MouseMove($iScreenX, $iScreenY) MouseMove($iScreenX + $iWidth/2, $iScreenY + $iHeight/2) Sleep(500) MouseClick("left") Sleep(500) MouseDown("left") MouseUp("left") EndIfNextHow do you click on the buttong, the iepropertyget --> positions the mouse in reference to the browser but not the object or element??Is there an Opt("MouseCoordMode", $n) in your script? It works best with a mode of 1 (the default) and using the Screen coordinates. The Browser coordinates come up wrong no matter which mode I use.Did you try just using _IEAction($ozi, "click")? Update: I figured out how to correct the "BrowserX" and "BrowserY" coordinates: Opt("MouseCoordMode", 2) $hIE = _IEPropertyGet($oIE, "hwnd") $avOffset = ControlGetPos($hIE, "", "[CLASS:Internet Explorer_Server;INSTANCE:1]") $iBrowserX = _IEPropertyGet($oTextArea, "browserx") + $avOffset[0] $iBrowserY = _IEPropertyGet($oTextArea, "browserY") + $avOffset[1]The "Client Area" mode 2 doesn't quite match because it includes the various toolbars at the top of the IE window. The "BrowserX/Y" coordinates are relative to the Explorer_Server instance, so you need to add the offset. Edited May 21, 2008 by PsaltyDS Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
diikee Posted May 21, 2008 Author Share Posted May 21, 2008 Tried _ieaction($ozi, "focus") ----->I can see it focussleep(500)_ieaction($ozi, "click") ------->but it doesn't get clickedis it possible to call the startzoom() directly?? Link to comment Share on other sites More sharing options...
PsaltyDS Posted May 21, 2008 Share Posted May 21, 2008 Tried _ieaction($ozi, "focus") ----->I can see it focussleep(500)_ieaction($ozi, "click") ------->but it doesn't get clickedis it possible to call the startzoom() directly??I don't know how (that doesn't mean it can't be done). The screen coordinates with MouseCoordMode = 1 should have worked for you. If you needed to use the browser coordinates, see the Update to my last post. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
diikee Posted May 21, 2008 Author Share Posted May 21, 2008 You are a Savior!!!!!! You nailed it ---->>thanks again.....and keep up the effort. Link to comment Share on other sites More sharing options...
PsaltyDS Posted May 21, 2008 Share Posted May 21, 2008 Updated version of the demo from _IEPropertyGet() to show both coordinate methods used: expandcollapse popup#include <IE.au3> ; ******************************************************* ; Example 2 - Open a browser with the form example and get a reference to the form ; textarea element. Get the coordinates and dimensions of the text area, ; outline its shape with the mouse and come to rest in the center. Do ; this twice, with both screen and browser coordinates. ; ******************************************************* ; $oIE = _IE_Example("form") $oForm = _IEFormGetObjByName($oIE, "ExampleForm") $oTextArea = _IEFormElementGetObjByName($oForm, "textareaExample") ; Get coordinates and dimensions of the textarea $iScreenX = _IEPropertyGet($oTextArea, "screenx") $iScreenY = _IEPropertyGet($oTextArea, "screeny") $iWidth = _IEPropertyGet($oTextArea, "width") $iHeight = _IEPropertyGet($oTextArea, "height") ; Using screen coordinates: Outline the textarea with the mouse, come to rest in the center Opt("MouseCoordMode", 1); Screen mode MouseMove($iScreenX, $iScreenY) MouseMove($iScreenX + $iWidth, $iScreenY) MouseMove($iScreenX + $iWidth, $iScreenY + $iHeight) MouseMove($iScreenX, $iScreenY + $iHeight) MouseMove($iScreenX, $iScreenY) MouseMove($iScreenX + $iWidth / 2, $iScreenY + $iHeight / 2) Sleep(1000) ; Do it again, using browser coordinates Opt("MouseCoordMode", 2); Window Client mode $hIE = _IEPropertyGet($oIE, "hwnd") $avOffset = ControlGetPos($hIE, "", "[CLASS:Internet Explorer_Server;INSTANCE:1]") $iBrowserX = _IEPropertyGet($oTextArea, "browserx") + $avOffset[0] $iBrowserY = _IEPropertyGet($oTextArea, "browserY") + $avOffset[1] MouseMove($iBrowserX, $iBrowserY) MouseMove($iBrowserX + $iWidth, $iBrowserY) MouseMove($iBrowserX + $iWidth, $iBrowserY + $iHeight) MouseMove($iBrowserX, $iBrowserY + $iHeight) MouseMove($iBrowserX, $iBrowserY) MouseMove($iBrowserX + $iWidth / 2, $iBrowserY + $iHeight / 2) Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now