Не работает эмуляция клавиатуры с RobotJS/Nut-JS и другими средствами нативной автоматизации
При попытке симулировать набор текста с клавиатуры, он или не набирается, или набираются другие символы.
Как пример для пакета sendkeys набирается
89 9 ,38/,/вместоthis is synchronous(из примеров пакета)RobotJS - нещадно нажимает
AltCtrlShiftпри каждом «наборе», но сами символы не набираются.Nut-JS - тоже не работает.
Проблема наблюдается на обоих моих пк, причем как на Windows 7, так и на Windows 10.
Версии пакетов последние. Версия Node на Win7 и Win10 - v15.4.0
После запуска примеров ниже, есть 3000 мс для переключение в какое либо текстовое поле куда оно будет набирать текст.
В первую очередь я заинтересован в RobotJS, но устроит решение на любом их данных пакетов.
Результат работы каждого скрипта должен быть - qwerty12345678Абвгд
RobotJS:
const robot = require("robotjs");
setTimeout(() => {
robot.typeString("qwerty");
robot.typeString("12345678");
robot.typeString("Абвгд");
}, 3000);
NutJS:
const { keyboard, Key, mouse, left, right, up, down, screen } = require("@nut-tree/nut-js");
setTimeout(async() => {
await keyboard.type("qwerty");
await keyboard.type("12345678");
await keyboard.type("Абвгд");
}, 3000);
Sendkeys:
const sendkeys = require('sendkeys')
setTimeout(() => {
sendkeys.sync("qwerty");
sendkeys.sync("12345678");
sendkeys.sync("Абвгд");
}, 3000);
Ответы (1 шт):
С RobotJS имел похожую проблему. Должна быть включена английская раскладка клавиатуры и тогда будет отлично печататся... только английский текст. Кирилицу заставить работать у меня не получилось.
Как вариант, записывайте инфу в буфер обмена (через соответствующую библиотеку) и потом Ctrl-C/Ctrl-V