Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Pywinauto单击电报联系人菜单_Python_Telegram_Pywinauto - Fatal编程技术网

Python 如何使用Pywinauto单击电报联系人菜单

Python 如何使用Pywinauto单击电报联系人菜单,python,telegram,pywinauto,Python,Telegram,Pywinauto,我想用Pywinauto点击电报中的联系人菜单。 我运行此代码,但出现错误: >>> import pywinauto >>> from pywinauto.application import Application >>> app = Application.start ("C:\Users\Ali\AppData\Roaming\Telegram Desktop\Telegram.exe") >>> app.Teleg

我想用Pywinauto点击电报中的联系人菜单。 我运行此代码,但出现错误:

>>> import pywinauto
>>> from pywinauto.application import Application
>>> app = Application.start ("C:\Users\Ali\AppData\Roaming\Telegram Desktop\Telegram.exe")
>>> app.Telegram.MenuSelect ("Contacts")

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    app.Telegram.MenuSelect ("Contacts")
  File "C:\Python27\lib\site-packages\pywinauto-0.5.1-py2.7.egg\pywinauto\application.py", line 244, in __getattr__
    ctrls = _resolve_control(self.criteria)
  File "C:\Python27\lib\site-packages\pywinauto-0.5.1-py2.7.egg\pywinauto\application.py", line 807, in _resolve_control
    raise e.original_exception
MatchError: Could not find 'Telegram' in '[]'
>>> 
导入pywinauto >>>从pywinauto.application导入应用程序 >>>app=Application.start(“C:\Users\Ali\AppData\Roaming\Telegram Desktop\Telegram.exe”) >>>app.Telegram.MenuSelect(“联系人”) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 app.Telegram.MenuSelect(“联系人”) 文件“C:\Python27\lib\site packages\pywinauto-0.5.1-py2.7.egg\pywinauto\application.py”,第244行,位于\uu getattr__ ctrls=\u解析\u控制(自我标准) 文件“C:\Python27\lib\site packages\pywinauto-0.5.1-py2.7.egg\pywinauto\application.py”,第807行,在\u resolve\u控件中 引发e.U异常 匹配错误:在“[]”中找不到“电报” >>> 我如何制作这个脚本? 请回答我需要它。
谢谢。

这是QT5应用程序。pywinauto目前只支持本机和一些基本的.NET应用程序。也许在未来的UI自动化API支持下(计划是最近的冬天),pywinauto会有所帮助,但现在不行。Inspect.exe(在UIA模式下)可以看到菜单和按钮,但没有任何名称。因此,需要特殊的QT支持,才能使其像本地应用程序一样优雅。如果您需要非常简单的自动化,我建议您只使用一些解决方法,如按
app.Telegram.TypeKeys({ENTER}”)
键,然后通过坐标单击鼠标,如
app.Telegram.ClickInput(坐标=(70,20))
。我能找到的唯一一个用于QT自动化的开源工具是funq:这个项目很年轻,但很有趣。