Python 3.x与其他程序GUI的交互

时间:2013-07-23 19:44:13

标签: python user-interface pywinauto

我正在寻找能够与其他程序进行交互的Python 3.x库。 例如,我已经有了一些我在python中开发的命令行界面,而我 希望能够输入,说“1”,并打开另一个程序。从这里开始,我想打另一个 输入如“2”并让它操纵打开的GUI(例如,为了“点击”配置 下拉栏并选择一个选项,可能会修改一些设置,应用,然后也可能自动修改 输入一些文字)。我这样做的原因是测试自动化。 我已经尝试过使用pywinauto,但我发现它与Python 3不兼容! :( 还有其他可行的方法吗?提前致谢!!! 附:我可能忘记提到我使用的是Windows 7但使用的是Python32

4 个答案:

答案 0 :(得分:2)

您可以查看sikuli。它允许您根据区域或匹配的图形自动执行点击和其他操作。相当聪明。你有没有理由使用py3?

答案 1 :(得分:0)

Py3兼容的pywinauto发布了!新主页:http://pywinauto.github.io/

P.S。我是pywinauto的维护者。

答案 2 :(得分:0)

迟到的答案,但请查看 pyautogui,它使您能够移动鼠标和按键。我将它用于以下启动模拟器并按下按键的代码片段。

import pyautogui as pg
import os
import time

game_filepath = "../games/BalloonFight.zip"
os.system(f"fceux {game_filepath} &")

time.sleep(1)

keys_to_press = ['s', 's', 'enter']

for key_to_press in keys_to_press:
    pg.keyDown(key_to_press)
    pg.keyUp(key_to_press)

time.sleep(2)

im = pg.screenshot("./test.png", region=(0,0, 300, 400))
print(im)

更详细的解释可以在这里找到:Reinforcement learning to play Nintendo NES games

答案 3 :(得分:-2)

我在GitHub上创建了一个与Python 3兼容的pywinauto fork: https://github.com/Usonaki/sendkeys-py-si-python3

我只进行了基本测试,因此可能仍然存在一些我未找到的与导入相关的循环问题。