- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是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
我用谷歌搜索,但找不到任何有用的解决方案。
我哪里错了?
最佳答案
完整的答案会很长而且很复杂。让我们从您的小问题开始吧。
Chrome 生成了几个与 app
对象无关的进程。解决方案:使用 Application(backend="uia").connect(title='New tab')
(或 title_re
或任何可能的 find_windows )。
更大的问题是默认 backend="win32"
(或 pywinauto 0.5.4 及之前版本)无法检测和处理 Chrome 控件。 MS UI Automation 支持从 0.6.0 开始引入。顺便说一句,pywinauto/UIA 可以以进程不可知的方式处理顶级窗口:Desktop(backend='uia').NewTab.type_keys('some_URL')
有关 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/
我是pywinauto新手,刚开始学习。我在本地 32 位 Windows 7 操作系统中安装了带有 pip 的 pywinauto。所以,我有这个示例代码可以在 chrome 浏览器中打开一个 UR
我是一名优秀的程序员,十分优秀!