¿Es posible simular eventos de teclado / mouse en NodeJS?

Imagine que un módulo NodeJS, cuando se invoca desde la consola, emite algunos mensajes introductorios y luego espera la entrada del usuario (haga clic en Entrar o esc). Este módulo ya tiene y hace todo lo que necesitamos, excepto que: solicitud de entrada de espera de usuario. Entonces nos preguntamos (personalmente soy muy nuevo en NodeJS) si es posible ejecutar el módulo de la consola mediante progtwigción y desencadenar un evento de entrada en él, para que no espere y continúe con el trabajo de inmediato.

Podrías usar posiblemente RobotJS para esto.

Código de ejemplo:

var robot = require("robotjs"); // Type user's password or something. robot.typeString("abc123"); 

Como Jason mencionó, podrías usar RobotJS para la simulación de claves, pero hay algunos pasos necesarios para construir correctamente la paltform robotJS para Windows :

  1. Necesitaría herramientas de comstackción de Windows, así que ejecute npm install --global windows-build-tools (tomaría algo de tiempo ya que es de alrededor de 120 MB)
  2. ejecutar npm install robotjs --save-dev
    ¡Ya terminaste !.
    Si esto es para la aplicación electrónica, entonces también necesitarías un tercer paso:
  3. ejecute npm rebuild --runtime=electron --target=1.7.9 --disturl=https://atom.io/download/atom-shell --abi=57

    (1.7.9 es mi versión electron --version y abi es para mi node --version correspondiente, versión 8.7 instalada, puede verificar la versión abi para la versión de nodo aquí [busque la columna NODE_MODULE_VERSION])

node-key-sender library es una alternativa a RobotJs si solo necesita enviar claves a su sistema operativo. Es multiplataforma y lib muy pequeña.

Instálelo con npm install --save-dev node-key-sender .

Y envíe “enter” al teclado usando:

 var ks = require('node-key-sender'); ks.sendKey('enter'); 

Consulte la página de documentación: https://www.npmjs.com/package/node-key-sender .

    Intereting Posts