我试图使用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()
Vasily Ryabo.. 5
为了确保程序是真正的64位,您可以打开“任务管理器”,并查看进程名称中是否存在“ * 32”后缀。如果显示,则该过程实际上是32位的(可能是TomCat安装程序中的错误吗?)。
要在系统上为非默认Python安装pywinauto,您需要指定pip.exe的完整路径,如下所示:
C:\Python27_32\scripts\pip.exe install pywinauto
编辑:我看到Tomcat7w.exe
进程确实是32位的。因此,您需要运行32位Python使其自动化。还要确保Python + pywinauto 以Administrator身份运行。
PS 64位Python + pywinauto可能适用于32位进程(这就是为什么只有警告而不是错误的原因)。有时,当进程的位数不正确时,用户会遇到TreeView控件的问题。
为了确保程序是真正的64位,您可以打开“任务管理器”,并查看进程名称中是否存在“ * 32”后缀。如果显示,则该过程实际上是32位的(可能是TomCat安装程序中的错误吗?)。
要在系统上为非默认Python安装pywinauto,您需要指定pip.exe的完整路径,如下所示:
C:\Python27_32\scripts\pip.exe install pywinauto
编辑:我看到Tomcat7w.exe
进程确实是32位的。因此,您需要运行32位Python使其自动化。还要确保Python + pywinauto 以Administrator身份运行。
PS 64位Python + pywinauto可能适用于32位进程(这就是为什么只有警告而不是错误的原因)。有时,当进程的位数不正确时,用户会遇到TreeView控件的问题。