2012-06-24 211 views
2

想象一下,當從控制檯調用NodeJS模塊時,會輸出一些介紹性消息,然後等待用戶輸入(單擊enter或esc)。除了 - 等待用戶輸入提示符之外,該模塊已經完成了我們所需的一切。所以我們想知道(我個人對NodeJS來說是非常新的),如果可以通過編程方式來執行控制檯模塊並觸發輸入事件,那麼它就不會等待並立即開始工作?是否可以在NodeJS中模擬鍵盤/鼠標事件?

回答

9

你可以使用RobotJS這個。

示例代碼:

var robot = require("robotjs"); 

// Type user's password or something. 
robot.typeString("abc123"); 
+1

這應該是公認的答案,我只是用它來模擬與'robot.keyTap(「進入」)'順利進入按鍵[尋找NODE_MODULE_VERSION列])。 – jviotti

+0

謝謝!這是超級簡單,跨平臺! –

1

節點琴鍵發件人庫是RobotJs替代,如果你只需要發送鍵,您的業務系統。它是跨平臺和非常小的庫。

npm install --save-dev node-key-sender安裝。

,併發送 「確認」 鍵使用鍵盤:

​​

退房的文檔頁面:https://www.npmjs.com/package/node-key-sender

3

賈森提到的,你可以使用RobotJS關鍵的模擬,但也有幾個步驟需要正確地構建的Windows robotJS paltform:

  1. 您需要使用Windows構建工具,以便運行npm install --global windows-build-tools(會採取一些時間約爲120MB)
  2. 運行npm install robotjs --save-dev
    你完成了!
    如果這是電子應用程序,然後你還需要下面第三步:
  3. 運行npm rebuild --runtime=electron --target=1.7.9 --disturl=https://atom.io/download/atom-shell --abi=57

    (1.7.9是我electron --version和ABI是我與node --version 8.7安裝,您可以檢查ABI版本節點版本here