Автоматизация вставки текста в поле динамического ввода в Instagram с помощью расширения ChromeJquery

Программирование на jquery
Ответить
Anonymous
 Автоматизация вставки текста в поле динамического ввода в Instagram с помощью расширения Chrome

Сообщение Anonymous »


Я создаю расширение для Google Chrome, которое поможет автоматизировать работу моей жены, которая слишком много времени проводит в Instagram. Я новичок в JS и кодировании расширений, но сделал что-то подобное на Python для других целей. Мне нужно вставить подготовленный текст в поле сообщения на странице DM. Хотя на тестовой странице код работает нормально, на странице DM существует проблема, которая генерируется динамически: когда пользователь вводит первый символ, Instagram загружает фактическое поле ввода. Кажется, я уже попробовал все методы вставки, они не работают. В настоящее время я пытаюсь эмулировать ввод с клавиатуры посимвольно, но это еще не сработало. Я бы сдался, но наткнулся на расширение BrowserFlow, которое успешно с этим справляется. Я бы, кстати, ей воспользовалась, но для девушки она слишком сложна и мне по сути нужна только эта одна функция. Я копнул немного глубже и понял, что BrowserFlow также вставляет текст посимвольно, но делает это в режиме отладки текущей вкладки. Может кто-нибудь объяснить, как это реализовать, если это секрет?

Мой код такой: `async function typeText(text, element, msDelay) { consoleLog('Ввод текста: ' + текст);
if (!element) { consoleLog('Активный элемент не найден'); возвращаться; } consoleLog('Элемент в фокусе получен'); for (пусть символ текста) { let keydownEvent = new KeyboardEvent("keydown", { пузыри: правда, ключ: символ, чар: чар, ShiftKey: ложь }); element.dispatchEvent(keydownEvent); consoleLog(`Событие Keydown отправлено для персонажа: ${char}`); let keypressEvent = new KeyboardEvent("keypress", { пузыри: правда, ключ: символ, чар: чар, ShiftKey: ложь }); element.dispatchEvent(keypressEvent); consoleLog(`Событие нажатия клавиши отправлено для символа: ${char}`); if ('значение' в элементе) { element.value += символ; // Для входных элементов. consoleLog(`К значению добавлен символ: ${char}`); } еще { element.textContent += символ; consoleLog(`Добавлен символ в textContent: ${char}`); } let keyupEvent = new KeyboardEvent("keyup", { пузыри: правда, ключ: символ, чар: чар, ShiftKey: ложь }); element.dispatchEvent(keyupEvent); consoleLog(`Событие Keyup отправлено для персонажа: ${char}`); пусть inputEvent = новое событие("вход", { пузыри: правда }); element.dispatchEvent(inputEvent); consoleLog(`Событие ввода отправлено`); если (мсDelay) { consoleLog(`Задержка на ${msDelay} мс`); ждать задержки (msDelay); } } если (элемент !== ноль) { const text = «Привет, мир!»; константная мсDelay = 200; typeText(текст, элемент, msDelay); } еще { consoleLog('Активный элемент не найден, повторная попытка через 2 секунды'); setTimeout (tryTipeInElement, 2000); }`
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»