Что такое эквивалент Node.js для pywinauto в Python? - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть много скриптов, написанных на python, которые используют библиотеку pywinauto.Эти сценарии открывают программы в Windows, что-то делают внутри них и т. Д. Теперь, когда я начал изучать Node.js, я нашел пока только Robot.js, который, безусловно, многообещающий, но мне не хватает возможности, как мне кажется, в него разобраться.мельчайшие детали, как это делает pywinauto.

Например, предположим, что я хотел найти программу под названием «Wordperfect», если она была открыта или нет, и если она открыта, убить программу и снова открыть ее.Вот как я это делаю в python, используя pywinauto:

from pywinauto import Desktop, Application

# Starts Wordperfect
wp_open = "wpwin14.exe" in (p.name() for p in psutil.process_iter())

if wp_open == False: # detects Wordperfect is closed
    app = Application().start(cmd_line=u'"C:\\Program Files (x86)\\Corel\\WordPerfect Office X4\\Programs\\wpwin14.exe" ')

if wp_open == True: # detects Wordperfect is open
    app = Application().connect(class_name='WordPerfect.14.00') # title=u'WordPerfect X4 - Document1 (unmodified)', 
    wordperfect = app[u'WordPerfect.14.00']
    # Kills Wordperfect
    app.Kill_() 
    # Reopens Wordperfect
    app = Application().start(cmd_line=u'"C:\\Program Files (x86)\\Corel\\WordPerfect Office X4\\Programs\\wpwin14.exe" ')

Это только начало моего скрипта.Это становится намного сложнее отсюда.К сожалению, до сих пор я не нашел конкретного способа сделать это в Node.js.Может кто-нибудь дать мне знать, если есть и как это сделать?Я проверял child-process в документации по Node.js, но из того, что я видел в примерах, не ясно, как воссоздать то, что у меня есть в python выше.

...