【问题标题】:How to read text from an application window using pywinauto如何使用 pywinauto 从应用程序窗口中读取文本
【发布时间】:2014-11-07 17:33:17
【问题描述】:

我有一个 python 代码,它使用 Putty 打开一个 SSH 会话并传递一个命令来使用 pywinauto 重新启动远程机器。 我想在输入密码后从腻子终端读取文本并进行比较 有什么办法可以做到吗? 下面是一段相同的代码

    app_Putty = application.Application()
    app_Putty.start_("C:\Users\debajyoti.bose\Downloads\putty.exe")
    app_Putty.top_window_().TypeKeys(IP)
    app_Putty.top_window_().TypeKeys("{TAB}"+"22")
    app_Putty.top_window_().RadioButton4.Click()
    app_Putty.top_window_().OpenButton.Click()
    time.sleep(10)
    app_Putty.top_window_().NoButton.Click()
    time.sleep(2)
    app_Putty.top_window_().TypeKeys(user+"{ENTER}")
    time.sleep(3)
    app_Putty.top_window_().TypeKeys(password+"{ENTER}")
    time.sleep(3)
    app_Putty.top_window_().TypeKeys("/bin/reboot"+"{ENTER}")
    time.sleep(5)
    app_Putty.kill_()
    time.sleep(120)

我正在使用 pywinauto v0.4.0 提前致谢。

【问题讨论】:

  • 请在杀死应用程序之前提供命令app_Putty.top_window_().PrintControlIdentifiers()的输出。
  • 嗨 Ryabov,感谢您的回复。我已经尝试过了,它没有打印控制台输出。实际上我需要在输入错误密码时读取控制台的响应,如下所示: root@192.168.1.18's password: Access denied root@192.168.1.18's password: All I当我使用该命令时得到的是:` Traceback(最近一次调用最后一次):文件“C:\Users\abc.def\reboot - Copy (6).py”,第 88 行,在 app_Putty().top_window ().PrintControlIdentifiers() TypeError: 'Application' object is not callable`
  • 请从app_Putty 实例中删除括号。 :) 只需复制我之前评论中的命令并在app_Putty.kill_() 之前运行。
  • 嗨 Ryabov,我尝试了完全相同的方法,这次在 PrintControlIdentifiers[] 之后只得到了一个空字符串。

标签: python-2.7 pywinauto


【解决方案1】:

好的,让我们试试app_Putty.top_window_().WindowText()。如果失败了,你的任务看起来就不可能了。

【讨论】:

    猜你喜欢
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多