[python-win32] pywinauto 0.1.1

Mark Mc Mahon mark.m.mcmahon at gmail.com
Sat Jan 14 15:51:43 CET 2006


On 1/14/06, Jeff Bauer <jbauer at rubic.com> wrote:
>

>
> from win32com.client import Dispatch
> AutoIt = Dispatch("AutoItX3.Control")
> ...
>
> AutoIt.WinActivate(title)
> AutoIt.WinWaitActive(title)
> AutoIt.Send(keystroke)
> ...
>
> AutoIt.ClipPut("")
> AutoIt.Send("{ALTDOWN}EL{ALTUP}") # Edit -> Copy All
> text = AutoIt.ClipGet().strip()
> if AutoIt.error:
>    self.log("AutoIt.error: nothing in the clipboard")

I have noticed that AutoIt seems to do everything through the keyboard
(at least in all the examples I have looked at). I feel that using the
keyboard only loses quite a lot of context information for example
   AutoIt.Send("{ALTDOWN}EL{ALTUP}") # Edit -> Copy All

I find must less expressive (is that the right word?) than:
   # using notepad as an example (notepad doesn't have a Copy All item)
   Notepad.MenuSelect("Edit->Select All")
   Notepad.MenuSelect("Edit->Copy")

I can also make it so that an exception is raised one of those menu
items are not enabled.

Currently I don't have any Clipboard access methods and I should fix that :-) .

import clipboard
if clipboard.owner != Notepad:
    raise RuntimeError("seems some other app has used the clipboard in between")

# get the data in the default format (is there such a thing as the
default format?)
data = clipboard.get_data(format)

# get it as text
text = clipboard.get_text()

These are just ideas - seeing as I haven't implemented the clipboard
code yet (and don't know enough about the relevant functions to be
sure that I am specify the right code layout above).

So I guess clipboard access is next on my todo list (after fixing the
readme file - which is confusing!)

Thanks
   Mark

>
> > Would you reccomend that I look at the AutoIt DLL exported functions?
> > I guess it provides a set of higher level functions then the windows
> > API - which I am currently using.
>
> I think it would give you some good ideas of the functionality that
> you'd want to reproduce in pywinauto.
>
> --
> Jeff Bauer      http://serpentaddiction.blogspot.com
> Rubicon, Inc.   http://www.rubic.com
>


More information about the Python-win32 mailing list