我正在尝试使用PyWinAuto填充内部应用程序列表。我有2个不同的帧。不幸的是,网上的例子非常少。我在Swapy / print_control_identifiers给出的框架中没有任何内容,因此我使用了co-ords。
到目前为止,我已经解决了这个问题。
这没关系,但如何放弃:
app.foo.DragMouse(button='left',pressed='',press_coords=(85,65))
下面的问题,应该有一种方法可以将release_coords添加到上面但使用另一个框架和release_coords。所以我试图使用不同的框架(条形图)但是没有:
app.bar.Drop(button='left',pressed='',coords=(240,26))
下面有效,但只能在同一帧内,我需要从foo下拉并拖动到带有坐标的条形框架:
app.onlyfoo.DragMouse(button='left',pressed='',press_coords=(85,65),release_coords=(85,200))
我已经在线查看了所有相关文档,如果我再看到记事本示例,我会尖叫。
任何帮助,非常感谢!
答案 0 :(得分:0)
DragMouseInput()
方法默认为absolute=False
参数。您可以使用absolute=True
覆盖它并使用绝对屏幕坐标。是的,现在是一种解决方法。
问题非常好。我们刚刚在新版本之前审核此功能。会考虑你的反馈。非常感谢!
答案 1 :(得分:0)
我用新的pywinauto 0.6创建了一个小例子。它只是试图在列表框中拖放树视图项。 (小心当前打开的文件夹)
import pywinauto
app = pywinauto.Application(backend=u'uia')
appconnect = app.start(u'notepad.exe')
dlg = app.UntitledNotepad
dlg.menu_select(u'File->Open')
dlg.Open.TreeView.get_item("\\Desktop\Libraries").expand()
tv_music = dlg.Open.TreeView.get_item("\\Desktop\Libraries\Music")
# here we drag an item between controls of the dialog
tv_music.drag_mouse_input(dlg.Open.ListBox.wrapper_object())