Putty via Pywinauto

时间:2018-04-21 06:57:35

标签: python-3.x putty pywinauto

我正在尝试自动执行一些基本的Putty活动,例如登录系统并使用pywinauto键入一些命令。只是为了让你知道 - 我不认为paramiko / netmiko可以帮助解决这个问题,因为我需要在屏幕上停留窗口(GUI),以便我可以继续处理由于代码运行而打开的同一个窗口。

我的代码启动到给定ip的会话(10.22.22.222)。但是,我得到一些对话窗口,例如安全警报(如果它是我第一次登录到给定的机器)或致命错误(如果设备无法访问或连接被拒绝)。有没有人知道如何处理/按下此窗口上的按钮,如是,否,取消,确定或只是右上角的关闭。

我的代码段如下:

app = Application().Start('C:\\Users\\redback\\Desktop\\putty.exe -ssh admin@10.22.22.222')
pt = app.PuTTY
pt.Wait ('ready')
time.sleep (40) # tried to wait 40 secs (more than the default timeout of 30 secs) 
pt.PuTTY.OK.click() # and press OK on the PuTTY Fatal Error pop-up window
# ideally I would carry on with Alt+F4 or Close so that I can clean it off the screen

非常感谢。

1 个答案:

答案 0 :(得分:1)

我认为下面的代码应该处理弹出窗口。

app = Application().Start(r"C:\Program Files\PuTTY\putty.exe -ssh admin@192.168.1.1")
pt = app.PuTTY
pt_sec_alert = app.PuTTYSecurityAlert
pt.wait('ready')
time.sleep(5)
if pt_sec_alert.exists():
    # pt_sec_alert.Yes.click()
    # pt_sec_alert.No.click()
    pt_sec_alert.Cancel.click()

这是安全警报窗口的示例,对于致命错误,它与我认为的相同。