问题
I am writing an app in Python that must be able to send keys or text to another app. For example, if I have Firefox open, I should be able to send it an URL to open it.
I already have the SendKeys module, and I have read about the win32 module too, but I do not know if there is a way to filter out process without open windows.
回答1:
Usually, for this sort of "GUI automation" pyWinAuto is a good way to go. We use it to allow automated testing of GUI applications, and it ought to let you "type" URLs into Firefox (not to mention finding its window) as well.
回答2:
try using dragonfly. It has a whole lot of automation stuff built into it. You don't need the speech recognition part in order to use the automation stuff. For example:
from dragonfly import Window
Window.get_all_windows()
will return a list of all the windows.
you also want to look at the FocusWindow() and Keys() objects in dragonfly.
回答3:
Even if you need to use automation for everything else your app is going to do, it would probably be a lot easier to use the webbrowser module for opening urls in the user's browser.
回答4:
I like PyAutoGUI. You can see their docs here. I've typed with it before
From the docs:
import pyautogui
pyautogui.typewrite('Hello world!', interval=0.25) # type with quarter-second pause in between each key
来源:https://stackoverflow.com/questions/2022219/get-list-of-open-windows-in-python