如何消除双击\u input()操作的延迟?

2024-09-27 09:23:48 发布

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

有没有办法可以消除双击input()操作的延迟?在

我要做的是双击编辑框,然后在这里键入键。可能这两个操作都有一些延迟,所以整个过程的执行看起来非常缓慢。在

代码:

myApp = Desktop(backend='uia').window(title_re='myTitle_re')    
myApp.window(auto_id='myAutoId').window(title='myTitle').double_click_input()
myApp.descendants(title='myTitle', control_type='Edit')[1].type_keys('myKeys')

还有一个额外的问题:我试图在这里使用double_click(),但它总是抛出一个异常:

AttributeError: WindowSpecification class has no 'double_click' method.

然后我试了myApp.window(auto_id='myAutoId').window(title='myTitle').wrapper_object().double_click()

得到了:

AttributeError: 'ListItemWrapper' object has no attribute 'double_click'

为了得到这份工作我该换什么?在

我使用的是pywinauto0.6.3。在


Tags: noreidautoinputtitletypewindow
1条回答
网友
1楼 · 发布于 2024-09-27 09:23:48

回答第一个问题时,可以使用全局设置将一些计时设置为空。对于double_click_input

from pywinauto.timings import Timings
Timings.after_clickinput_wait = 0.0
Timings.after_setcursorpos_wait = 0.0

对于真正的用户输入(*_input方法),更改时间可能会导致修改后的序列不起作用。但你可以自己冒险去尝试。有时使用静默方法最好使用窗口消息,如WM_CLICK(对于“win32”后端)或UIAutomation模式(如Invoke Pattern)(对于“uia”后端)。在

没有为“uia”实现double_click,因为不清楚哪个UIAutomation模式应该解释为双击操作。我们有方法.invoke()和{}别名。但对于非按钮,InvokePattern可能有不同的含义。所以我们把它留作.invoke()。在

关于遗产财产文本。。。可以通过.legacy_properties()[u'Value']为您的案例(或从返回的dict中获得其他值)获得它。有一些方法set_window_text/set_edit_text使用ValuePattern,因此可以无需任何技巧就可以静默地设置文本。在

相关问题 更多 >

    热门问题