如何使用pywinauto点击

问题描述 投票:0回答:1

我想用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")

有人可以帮忙吗?

非常感谢。

python pywinauto
1个回答
0
投票

看起来像

+
按钮,您需要单击该按钮才能获得所有者绘制的窗口(如第二张图所示)。

因此,只有一种方法可以调出“添加要搜索的文件夹”窗口:使用

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 文档以获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.