首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python空闲编辑器中使用pywinauto to set_text?

如何在python空闲编辑器中使用pywinauto to set_text?
EN

Stack Overflow用户
提问于 2020-02-09 11:56:55
回答 3查看 273关注 0票数 1

我想用pywinauto控制python空闲。

我可以开始空闲,但不能输入文本。

下面是我的代码:

代码语言:javascript
运行
复制
import pywinauto
app = pywinauto.application.Application(backend="uia").start(r"C:\Python37\pythonw.exe C:\Python37\Lib\idlelib\idle.pyw")
app2 = pywinauto.application.Application().connect(process=app.process)

我尝试使用app2.Property.print_control_identifiers(),但它返回:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 256, in __resolve_control
    criteria)
  File "C:\Python37\lib\site-packages\pywinauto\timings.py", line 458, in wait_until_passes
    raise err

pywinauto.timings.TimeoutError

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    app2.Property.print_control_identifiers()
  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 595, in print_control_identifiers
    this_ctrl = self.__resolve_control(self.criteria)[-1]
  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 259, in __resolve_control
    raise e.original_exception
  File "C:\Python37\lib\site-packages\pywinauto\timings.py", line 436, in wait_until_passes
    func_val = func(*args, **kwargs)
  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 201, in __get_ctrl
    dialog = self.backend.generic_wrapper_class(findwindows.find_element(**criteria[0]))
  File "C:\Python37\lib\site-packages\pywinauto\findwindows.py", line 84, in find_element
    elements = find_elements(**kwargs)
  File "C:\Python37\lib\site-packages\pywinauto\findwindows.py", line 303, in find_elements
    elements = findbestmatch.find_best_control_matches(best_match, wrapped_elems)
  File "C:\Python37\lib\site-packages\pywinauto\findbestmatch.py", line 533, in find_best_control_matches
    raise MatchError(items = name_control_map.keys(), tofind = search_text)
pywinauto.findbestmatch.MatchError: Could not find 'Property' in 'dict_keys(['*Python 3.7.2 Shell*TkTopLevel', '*Python 3.7.2 Shell*', 'TkTopLevel'])'

如何解决这个问题?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-15 10:46:15

代码语言:javascript
运行
复制
app = pywinauto.application.Application(backend="uia").start(r"C:\Python37\pythonw.exe C:\Python37\Lib\idlelib\idle.pyw")
app2 = pywinauto.application.Application().connect(process=app.process)
app3 = app2.top_window()
app3.print_control_identifiers()
票数 1
EN

Stack Overflow用户

发布于 2020-02-10 06:36:55

我怀疑你能做任何你想做的事情。pywinauto site说:"pywinauto是一组python模块,用于自动化Microsoft Windows GUI。最简单的是,它允许您将鼠标和键盘操作发送到windows对话框和控件。“IDLE使用tkinter,它使用tcl/tk gui框架。虽然这最终使用的是Windows图形,但它可能不是pywinauto访问的级别。

票数 0
EN

Stack Overflow用户

发布于 2020-05-19 16:07:57

您可以使用最适合windows GUI自动化的pyautogui

我使用pyautogui将RDP连接转换为自动化

代码语言:javascript
运行
复制
import pyautogui
import time
import os

os.system("C:\\Users\Administrator\\Desktop\\RDC.bat")
print(pyautogui.position())
time.sleep(5)

pyautogui.click(490,404)
pyautogui.typewrite("Bitwise$123")
pyautogui.typewrite(["Enter"])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60133325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档