如何使用pywinau单击

2024-10-01 15:34:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用pywinauto控制一个图像处理软件。在

首先,我需要单击一个特定区域(用于图像拖动)弹出一个窗口用于路径输入。见第一张图。在

然后,我需要输入一个路径并单击“选择文件夹”按钮。见第二张图。在

我试过了:

from pywinauto import Desktop, Application, mouse, findwindows
from pywinauto.keyboard import SendKeys

app = Application(backend='uia').start(r"C:\Program Files\Duplicate Photo Cleaner\DuplicatePhotoCleaner.exe")
app.connect(path="DuplicatePhotoCleaner.exe")
app.DuplicatePhotoCleaner.print_control_identifiers()

Control Identifiers:

Dialog - 'Duplicate Photo Cleaner'    (L440, T126, R1480, B915)
['Duplicate Photo Cleaner', 'Duplicate Photo CleanerDialog', 'Dialog']
child_window(title="Duplicate Photo Cleaner", control_type="Window")
   | 
   | TitleBar - ''    (L464, T129, R1472, B157)
   | ['', 'TitleBar']
   |    | 
   |    | Menu - 'System'    (L448, T134, R470, B156)
   |    | ['System', 'Menu', 'SystemMenu', 'System0', 'System1']
   |    | child_window(title="System", auto_id="MenuBar", control_type="MenuBar")
   |    |    | 
   |    |    | MenuItem - 'System'    (L448, T134, R470, B156)
   |    |    | ['System2', 'SystemMenuItem', 'MenuItem']
   |    |    | child_window(title="System", control_type="MenuItem")
   |    | 
   |    | Button - 'Minimize'    (L1333, T127, R1380, B157)
   |    | ['Minimize', 'Button', 'MinimizeButton', 'Button0', 'Button1']
   |    | child_window(title="Minimize", control_type="Button")
   |    | 
   |    | Button - 'Maximize'    (L1380, T127, R1426, B157)
   |    | ['Button2', 'Maximize', 'MaximizeButton']
   |    | child_window(title="Maximize", control_type="Button")
   |    | 
   |    | Button - 'Close'    (L1426, T127, R1473, B157)
   |    | ['CloseButton', 'Button3', 'Close']
   |    | child_window(title="Close", control_type="Button")

有人能帮忙吗?在

非常感谢。在

First screen

Screen after click


Tags: childapptitletypebuttonwindowsystemcontrol
2条回答

如何使用pywinauto单击:

pywinauto.mouse.click(button='right\left', coords=(x,y))

看起来您需要单击以获得窗口的+按钮(如第二个图所示)是ownerdrawn。在

因此,只有一种方法可以打开“addfoldertosearch”窗口:通过传递坐标使用click_input方法。在

窗口出现后,可以使用以下代码设置该值:

app.DuplicatePhotoCleaner.child_window(title="Folder:", auto_id="1152", control_type="Edit").set_text('Hello world') #or
app.DuplicatePhotoCleaner['Folder:Edit'].set_text('Hello world')


Application().connect(title='Add folder to search')...

请浏览pywinauto docs了解更多信息。在

相关问题 更多 >

    热门问题