如何使用python脚本自动化软件安装

gur*_*uru 6 python installation automation

我是Python的新手.我想自动化软件安装过程.方案如下

运行安装文件.在第一个屏幕上,它有两个按钮,取消.点击下一步,它进入下一个屏幕,有两个按钮,接下来,取消和一些输入数据是必需的.提供详细信息后,将显示完成或取消按钮.

在这里,我想编写将自动执行此活动的python脚本.它应该识别按钮单击它,应该在任何需要的地方输入数据并完成安装.

实现此功能

  1. Python API是必需的,如果有的话?
  2. 一些代码示例或教程的链接使用相同的.
    referance的示例图片
    谢谢!!

Vas*_*bov 9

正如Rawing所说,pywinauto是Windows安装程序的不错选择.这是一个很好的示例视频:http ://pywinauto.github.io/

等待下一页使用类似的东西:app.WizardPageTitle.wait('ready')
当安装程序完成时:app.FinishPage.wait_not('visible')
对于编辑框输入:app.WizardPage.Edit.type_keys('some input path', with_spaces=True)
对于按钮点击,我建议click_input()作为更可靠的方法.

如果要在许多计算机上自动安装应用程序,可以创建远程桌面或VNC会话,并在该会话中运行Python脚本的本地副本.只是不要最小化RDP或VNC窗口以防止GUI上下文丢失.丢失焦点是安全的,您可以在另一个窗口中继续在主机上工作,而不会影响远程安装.


FastStone Image Viewer 4.6的简易安装脚本示例:

import os
from pywinauto.application import Application

fsv = Application(backend="win32").start("FSViewerSetup46.exe")

fsv.InstallDialog.NextButton.wait('ready', timeout=30).click_input()
fsv.InstallDialog.IAgreeRadioButton.wait('ready', timeout=30).click_input()
fsv.InstallDialog.Edit.Wait('ready', timeout=30).type_keys(os.getcwd() + "\FastStone Image Viewer", with_spaces=True)
fsv.InstallDialog.InstallButton.wait('ready', timeout=30).click_input()
fsv.InstallDialog.FinishButton.wait('ready', timeout=30).click_input()
Run Code Online (Sandbox Code Playgroud)