我正在使用robot.js 包,需要使用我的程式運行大量按鍵命令(通常每秒超過50 個)。
到目前為止,它有點像這樣:
...for in elements
setTimeout(() => {
console.log(element.deltaTime) // Logs the time that the key should be pressed at (in ms)
if(shifted(element.key)){
robot.keyTap(element.key,"shift")
}else{
robot.keyTap(element.key)
}
}, element.deltaTime);
這不是這里的確切程式,因為解釋起來需要很長時間,但它解決了大部分問題。基本上,我試圖在很短的時間內運行大量的按鍵。
這里的問題是,robot.js 在敲擊鍵上花費了大量時間,并延遲了其他鍵的執行,直到它完成,留下了一個非常緩慢的結果。注釋掉robot.keyTap() 函式運行程式的速度要快得多,但是您知道,不會點擊按鍵。
任何幫助表示贊賞,我真的想讓它快速作業。
uj5u.com熱心網友回復:
根據這個github問題,這個問題在Windows系統上表現出來 - 呼叫.keyTap可能導致數十或數百毫秒的阻塞延遲。
雖然修復已合并到主存盤庫中,但 NPM 版本尚未更新和發布,因此使用 RobotJS 的人現在仍會遇到它 - 除非他們通過運行手動安裝修復版本:
npm install git https://github.com/octalmage/robotjs.git
希望上述內容不會無限期地被需要,最終將發布一個新版本,以便將來可以簡單npm install robotjs地解決這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/399841.html
