gpt4 book ai didi

python - pywinauto 中的 pywinauto.findwindows.WindowNotFoundError

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:44 27 4
gpt4 key购买 nike

我是pywinauto新手,刚开始学习。我在本地 32 位 Windows 7 操作系统中安装了带有 pip 的 pywinauto。所以,我有这个示例代码可以在 chrome 浏览器中打开一个 URL。

from pywinauto import application
app=application.Application()
app.start(r'C:\Program Files\Google\Chrome\Application\chrome.exe')
app.window_(title='New Tab')
app.window_().TypeKeys('{F6}')
app.window_().TypeKeys('{ESC}')
app.window_().TypeKeys('www.facebook.com')

运行时报错:

Traceback (most recent call last):
File "pywinauto_nil.py", line 6, in <module>
app.window_().TypeKeys('{F6}')
File "C:\Python27\lib\site-packages\pywinauto\application.py", line 252, in
__getattr__
ctrls = _resolve_control(self.criteria)
File "C:\Python27\lib\site-packages\pywinauto\application.py", line 758, in _resolve_control
raise e.original_exception
pywinauto.findwindows.WindowNotFoundError

我用谷歌搜索,但找不到任何有用的解决方案。

我哪里错了?

最佳答案

完整的答案会很长而且很复杂。让我们从您的小问题开始吧。

  1. Chrome 生成了几个与 app 对象无关的进程。解决方案:使用 Application(backend="uia").connect(title='New tab')(或 title_re 或任何可能的 find_windows )。

  2. 更大的问题是默认 backend="win32"(或 pywinauto 0.5.4 及之前版本)无法检测和处理 Chrome 控件。 MS UI Automation 支持从 0.6.0 开始引入。顺便说一句,pywinauto/UIA 可以以进程不可知的方式处理顶级窗口:Desktop(backend='uia').NewTab.type_keys('some_URL')

    <
  3. 有关 Chrome 的更多详细信息。它默认不启用 UIA 支持。 To enable UIA accessibility它必须这样运行:chrome.exe --force-renderer-accessibility。尽管在 Firefox 和 Opera 中默认启用 UIA 模式。

最后,pywinauto 并不是专门为 Web 自动化设计的。现在它可能与 Selenium 结合使用。

关于python - pywinauto 中的 pywinauto.findwindows.WindowNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38866272/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com