锁定多线程pywinauto发送键

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

我是pywinauto的新手,我正在创建几个记事本窗口并在所有窗口中键入文本。但是,这并不依赖于彼此,因此可以使用线程同时运行。

但是,当我尝试做同样的事情时,文本搞砸了,因为有几个线程试图同时访问type_keys()方法。有什么方法可以同时实现同样的目标吗?

python pywinauto concurrent.futures
2个回答
2
投票

还有另一种方法.set_text("...")不需要窗口聚焦。它仅适用于编辑框。

.type_keys().click_input()不是并发自动化或锁定机器/最小化RDP的好选择。更多细节可以在Remote Execution Guide找到。


1
投票

你也可以尝试从pywinauto导入keybord和发送你想发送的行这是一个小例子:

from pywinauto import application
from pywinauto import keyboard 
app = application.Application()
app.start("Notepad.exe")
keyboard.SendKeys('hello')

使用此代码,您将打开Notepade并在记事本中编写hello,我刚刚创建.py文件并且两者都有相同的代码,我在主文件上调用它们并且工作完美我创建了A.py并将代码放在其上并且我创建了B .py并放入相同的代码,在C.py中我导入了A,导入B并运行它确实打开了2 Notpad并写了文本查找这个例子:A.py

from pywinauto import application
from pywinauto import keyboard 
app = application.Application()
app.start("Notepad.exe")
keyboard.SendKeys('hello')

B.朋友

from pywinauto import application
from pywinauto import keyboard 
app = application.Application()
app.start("Notepad.exe")
keyboard.SendKeys('hello friends',with_spaces=True)

C.朋友

import A,B

并运行C.py make sur将所有文件保存在同一文件夹中

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