Loading ...
Sorry, an error occurred while loading the content.
 

Re: Using Win32::Guitest 1.50.5 to Automate Internet Explorer application

Expand Messages
  • lmarlin
    Chris, You are exactly right. I blundered onto a solution about 1:00am. Namely, I added: my ($left, $top, $right, $bottom) = GetWindowRect($hwnd);
    Message 1 of 7 , Aug 11, 2006
      Chris,

      You are exactly right. I blundered onto a solution about 1:00am.
      Namely, I added:

      my ($left, $top, $right, $bottom) = GetWindowRect($hwnd);

      MouseMoveAbsPix(($right+$left)/2,($top + 5)); # Just a nudge from
      the top line of the list of reports

      SendMouse("{LeftClick}");

      (because I knew that the item I wanted was highlighted/selected and
      that it was the first "item from the top", I just nudged the $top
      coordinate for the cursor, sent the leftclick to the mouse, and it
      worked.


      Thanks to all for the excellent suggestions for better tools.








      --- In perlguitest@yahoogroups.com, "Chris Hilton" <chilton@...>
      wrote:
      >
      > If you don't go with one of the other excellent suggestions offered
      > earlier, I would ask whether you've moved the mouse to the correct
      > location before using SendMouse? SendMouse({LeftClick}) will send a
      > left-mouse click at the current mouse coordinates, so you would
      need to
      > do something like:
      >
      > 1. Get the coordinates of the window you want to click on. I don't
      > recall how offhand, but it should be relatively easy to research.
      > 2. Use MouseMoveAbsPix to move the mouse within the window area.
      > 3. Then use SendMouse({LeftClick}).
      >
      > Chris
      >
      >
      > ________________________________
      >
      > From: perlguitest@yahoogroups.com
      > [mailto:perlguitest@yahoogroups.com] On Behalf Of lmarlin
      > Sent: Thursday, 10 August, 2006 15:00
      > To: perlguitest@yahoogroups.com
      > Subject: [perlguitest] Using Win32::Guitest 1.50.5 to
      Automate
      > Internet Explorer application
      >
      >
      >
      > Dear Masters of Win32::Guitest (1.50.5)
      >
      > I am using Win32::Guitest to automate a tedious point-and-
      click
      > process that I do repeatedly with Internet Explorer.
      >
      > I am able to get the window handle, select a tab, navigate
      via
      > SendKey to the right spot and paste info where I want it,
      then
      > use
      > SendKey to move to a listbox control.
      >
      > I am able to navigate by SendKey, and highlight the item in
      the
      > list
      > that I want ( shows as selected by changing color).
      >
      > When I
      >
      > SendMouse ({LeftClick})
      >
      > nothing happens.
      >
      > By using WinSpy++ I found that the ListBox is identified as:
      >
      > Caption: None
      > Class: Internet Explorer_TridentLstBox
      > Handle: 00340518
      >
      > Is there a superior way to access and manipulate / click on /
      > select
      > the desired list element?
      >
      > use Win32::GuiTest qw(:ALL :SW :FUNC
      > FindWindowLike SetForegroundWindow
      > SendMouse MouseMoveAbsPix SendLButtonDown SendLButtonUp
      > );
      >
      > Lee
      >
      >
      >
      >
      >
      >
      >
      > [Non-text portions of this message have been removed]
      >
    • jivy lucero
      hi all, only i can suggest is use Win32-IEAutomation to automate IE. This module good than clicking the mouse location, because Win32- IEAutomation can click
      Message 2 of 7 , Aug 12, 2006
        hi all,
        only i can suggest is use Win32-IEAutomation to automate IE. This
        module good than clicking the mouse location, because Win32-
        IEAutomation can click exactly were the object is located. or import
        AutoItX.dll for more easy gui automation

        Use AutoIT Script for GUI automation.
        http://www.autoitscript.com/autoit3/downloads.php

        regards,
        jivy

        --- In perlguitest@yahoogroups.com, "negedi" <neven.dinev@...> wrote:
        >
        > SendMouse ({LeftClick}) - this will send mouse click to the current
        > cordinates of mouse pinter. Not to the KB focus. Are you sure that
        > Mouse points to the selected Item?
        >
        > Try to find way to prcess with KB ... Enter, SpaceBar ...
        >
        > You can use other tools designed for automating IE:
        > SAMIE - Perl
        > PAMIE - Python
        > WATIR - Ruby
        >
        >
        > --- In perlguitest@yahoogroups.com, "lmarlin" <lmarlin@> wrote:
        > >
        > > Dear Masters of Win32::Guitest (1.50.5)
        > >
        > >
        > > I am using Win32::Guitest to automate a tedious point-and-click
        > > process that I do repeatedly with Internet Explorer.
        > >
        > > I am able to get the window handle, select a tab, navigate via
        > > SendKey to the right spot and paste info where I want it, then
        use
        > > SendKey to move to a listbox control.
        > >
        > > I am able to navigate by SendKey, and highlight the item in the
        > list
        > > that I want ( shows as selected by changing color).
        > >
        > > When I
        > >
        > > SendMouse ({LeftClick})
        > >
        > > nothing happens.
        > >
        > > By using WinSpy++ I found that the ListBox is identified as:
        > >
        > > Caption: None
        > > Class: Internet Explorer_TridentLstBox
        > > Handle: 00340518
        > >
        > > Is there a superior way to access and manipulate / click on /
        > select
        > > the desired list element?
        > >
        > >
        > >
        > > use Win32::GuiTest qw(:ALL :SW :FUNC
        > > FindWindowLike SetForegroundWindow
        > > SendMouse MouseMoveAbsPix SendLButtonDown SendLButtonUp
        > > );
        > >
        > >
        > > Lee
        > >
        >
      Your message has been successfully submitted and would be delivered to recipients shortly.