我试图使用pywinauto使TomCat自动化,以在每次更新类文件时启动和停止。但是,当我尝试运行它时,会出现以下警告:
UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python)
我很确定我具有所需程序的64位版本(甚至重新安装以确保)。有什么方法可以跳过此警告,以便程序可以执行?还是不可能?(Tomcat甚至安装在程序文件中,而不是安装在程序文件中(x86)。)如果是这种情况,我必须使用32位版本的python来执行此操作,那么如何为32位和64位安装pywinauto位版本的python?我尝试使用32位版本的python运行它,但是它说即使我运行pip install pywinauto,也无法识别“ pywinauto”模块。
编辑:尽管警告消息,该程序“工作”。它只是告诉我应该使用32位python。即使tomcat的代码无法正常工作(我也不知道为什么,甚至使用SWAPY来确保代码正确,但仍然无法正常工作)。这是一些未按预期执行的代码(即未发生任何事情)
def tomCatAuto():
app = Application().Connect(title=u'Apache Tomcat 8.0 Tomcat8 Properties', class_name='#32770')
window = app.Dialog
button = window.OK
button.Click()
Run Code Online (Sandbox Code Playgroud)
为了确保程序是真正的64位,您可以打开“任务管理器”,并查看进程名称中是否存在“ * 32”后缀。如果显示,则该过程实际上是32位的(可能是TomCat安装程序中的错误吗?)。
要在系统上为非默认Python安装pywinauto,您需要指定pip.exe的完整路径,如下所示:
C:\Python27_32\scripts\pip.exe install pywinauto
Run Code Online (Sandbox Code Playgroud)
编辑:我看到Tomcat7w.exe进程确实是32位的。因此,您需要运行32位Python使其自动化。还要确保Python + pywinauto 以Administrator身份运行。
PS 64位Python + pywinauto可能适用于32位进程(这就是为什么只有警告而不是错误的原因)。有时,当进程的位数不正确时,用户会遇到TreeView控件的问题。
| 归档时间: |
|
| 查看次数: |
3419 次 |
| 最近记录: |