Как вставить текст в поле минуя эмуляцию?

  • Автор темы Автор темы blamingas
  • Дата начала Дата начала

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Реакции
45
Баллы
28
Банальщина, над которой бьюсь уже третий час.
Ситуация: есть объёмный кусок текста на несколько абзацев, который нужно вставить в поле. Всё. Не получается никак.

Пробовал тремя способами:
1. Эмуляция клавиатуры (с минимальной задержкой).
Всё бы ничего, но из-за известных морганий Memu-инстанса каждые 15-20 секунд текст ломается (тех самых, когда в Project Maker зелёный статус "Готово" над окошком эмулятора сам собой переходит в "Загрузка", а в Memu в этот момент инстанс на несколько секунд чернеет, из-за чего случаются те самые известные пропуски кликов и т.п.). Т.е. в процессе эмуляции набора текста из-за моргания постоянно то перевод строки не поставится, то курсор перемещается внутрь уже напечатанного текста и т.п., и текст в итоге ломается.

2. Кубик "Установить значение" - результат из-за морганий ещё хуже, т.к. набор текста происходит медленнее, и шанс попасть на моргание возрастает.

3. Скопировать переменную с текстом в буфер обмена, дабы потом вставить в поле. Как скопировать в буфер нашёл через System.Windows.Forms.Clipboard.SetText(var) -копируется прекрасно, но вот как вставить? {AndroidKeys.INSERT} не работает как только ни пробовал, {AndroidKeys.PASTE} тоже.

Остаётся вариант передавать внутрь Memu-эмулятора текст сторонними мессенджерами и из них выдирать через copy-paste, но это уже какие-то совсем позорные костыли получаются.

Подскажите, пожалуйста, как быть с такой элементарной задачей?
 
Последнее редактирование:
У меня так через буфер работает.

var textcr = project.Variables["url"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной
 
У меня так через буфер работает.

var textcr = project.Variables["url"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной
я так пробовал - для Droid это не работает, в нем нет классического "инстанса", как в Постере
 
Последнее редактирование:
В дроиде не работал. В зенке бы это решалось кубиком "установить значение", в котором вы качество эмуляции устанавливает своё - минимальное. Иногда, после установки значения, где уровень эмуляции изменен в сторону скорости, нужно добавить клик по полю в которое его установили.
 
В дроиде не работал. В зенке бы это решалось кубиком "установить значение", в котором вы качество эмуляции устанавливает своё - минимальное. Иногда, после установки значения, где уровень эмуляции изменен в сторону скорости, нужно добавить клик по полю в которое его установили.
Да, в Постере я бы так и сделал. Но в Дроиде в настройках кубика "Установить значение" эта опция настройки эмуляции отсутствует. Из-за этого текст _вставить_ нельзя, только путём набора, где скорость эмуляции фиксированная, по дефолту довольно медленная и никак не регулируется.
 

Вложения

  • Снимок экрана 2021-11-01 131027.png
    Снимок экрана 2021-11-01 131027.png
    104,5 KB · Просмотры: 324
Ситуация: есть объёмный кусок текста на несколько абзацев, который нужно вставить в поле. Всё. Не получается никак.
Попробуйте такой вариант через C#:
C#:
Развернуть Свернуть Копировать
var droid = instance.DroidInstance;
droid.Input.SendText("Отправка текста без задержек");

Также есть способ выключить задержку в кубике Эмуляции клавиатуры, сняв соотв. галку.

84915


PS: Если будет проблема в 2.2.4.0, то попробуйте тестовую 2.2.5.0.
 
Последнее редактирование:
Попробуйте такой вариант через C#:
C#:
Развернуть Свернуть Копировать
var droid = instance.DroidInstance;
droid.Input.SendText("Отправка текста без задержек");

Также есть способ выключить задержку в кубике Эмуляции клавиатуры, сняв соотв. галку.
PS: Если будет проблема в 2.2.4.0, то попробуйте тестовую 2.2.5.0.
Не работает.
В случае с C# получаю вот такую ошибку:
84916


А в случае с кубиком Эмуляции клавиатуры, у меня вообще нет таких настроек, как у вас, несмотря на то, что я уже на версии 2.2.5.0 (Droid Lite):
84917
 
А в случае с кубиком Эмуляции клавиатуры, у меня вообще нет таких настроек, как у вас, несмотря на то, что я уже на версии 2.2.5.0 (Droid Lite)
Дроид Лайт 2.2.5.0 вечером будет обновлен.
Нужно будет обновиться и потестирвать в нем.
 
Дроид Лайт 2.2.5.0 вечером будет обновлен.
Нужно будет обновиться и потестирвать в нем.
Спасибо, а где можно следить за обновлениями этой тестовой версии и откуда её можно будет скачать? В предыдущий раз мне ссылку предоставлял в личку кто-то из админов.
 
  • Спасибо
Реакции: blamingas
Спасибо, а где можно следить за обновлениями этой тестовой версии и откуда её можно будет скачать? В предыдущий раз мне ссылку предоставлял в личку кто-то из админов.
Отправлю сейчас ссылку вам в личку.
 
  • Спасибо
Реакции: blamingas
спасибо, после обновления попробую
 
  • Спасибо
Реакции: Sergodjan
Да, в Постере я бы так и сделал. Но в Дроиде в настройках кубика "Установить значение" эта опция настройки эмуляции отсутствует. Из-за этого текст _вставить_ нельзя, только путём набора, где скорость эмуляции фиксированная, по дефолту довольно медленная и никак не регулируется.
Ага, не в курсе особенностей дроида. На сколько я помню в постере можно было добавить кубик, который менял уровень эмуляции. Если в дроиде есть такой кубик, то добавить его с максимумом скорости, потом вставить текст, потом клик по строке куда вставляли текст и кубик, который возвращает уровень эмуляции на место.

Ну или ждать обновление, которое вам пообещали уже сегодня)
 
  • Спасибо
Реакции: blamingas
Ага, не в курсе особенностей дроида. На сколько я помню в постере можно было добавить кубик, который менял уровень эмуляции. Если в дроиде есть такой кубик, то добавить его с максимумом скорости, потом вставить текст, потом клик по строке куда вставляли текст и кубик, который возвращает уровень эмуляции на место.

Ну или ждать обновление, которое вам пообещали уже сегодня)
Прикольно ты отвечаешь ;) надо взять этот уровень флуда на вооружение :)
 
Попробуйте такой вариант через C#:
C#:
Развернуть Свернуть Копировать
var droid = instance.DroidInstance;
droid.Input.SendText("Отправка текста без задержек");

Также есть способ выключить задержку в кубике Эмуляции клавиатуры, сняв соотв. галку.

Посмотреть вложение 84915

PS: Если будет проблема в 2.2.4.0, то попробуйте тестовую 2.2.5.0.
Отписываю по обновлению версии Дроида - оба этих метода теперь работают успешно. Текст вставляется. Благодарю за помощь!
 
  • Спасибо
Реакции: Deisler и Sergodjan
Дроид Лайт 2.2.5.0 вечером будет обновлен.
Нужно будет обновиться и потестирвать в нем.
А обновление Дроид Демо версии 2.2.5.0 есть? До этого пользовался купленной Pro 2.2.4.0, но её срок истёк вчера, неожиданно для меня. Сейчас ищу временные варианты для продолжения работы.
 
А обновление Дроид Демо версии 2.2.5.0 есть? До этого пользовался купленной Pro 2.2.4.0, но её срок истёк вчера, неожиданно для меня. Сейчас ищу временные варианты для продолжения работы.
При истекшем оплаченном периоде полнофункциональной версией 2.2.5.0 не получится воспользоваться.
Но можете воспользоваться Демо версией 2.2.5.0.
 
Попробуйте такой вариант через C#:
C#:
Развернуть Свернуть Копировать
var droid = instance.DroidInstance;
droid.Input.SendText("Отправка текста без задержек");

Также есть способ выключить задержку в кубике Эмуляции клавиатуры, сняв соотв. галку.

Посмотреть вложение 84915

PS: Если будет проблема в 2.2.4.0, то попробуйте тестовую 2.2.5.0.
варианта вставки текста через переменную нет? текстом заданным в С# работает, если присваивать переменную, то нет.
 
варианта вставки текста через переменную нет? текстом заданным в С# работает, если присваивать переменную, то нет.
Попробуйте так:
C#:
Развернуть Свернуть Копировать
var droid = instance.DroidInstance;
droid.Input.SendText(project.Variables["mytext"].Value);
 
  • Спасибо
Реакции: vashfreelancer
Попробуйте так:
C#:
Развернуть Свернуть Копировать
var droid = instance.DroidInstance;
droid.Input.SendText(project.Variables["mytext"].Value);
Работает, спасибо за оперативность. Хотя на другой не машине не работает, разберусь, сообщу.
 
ссылка содержит 424 символа, и она не вставляется, что то короткое - успешно.

она такого формата https://pay.openai.com/c/pay/cs_live_a436yUF93jMJUlkFDyHk8bxkO8X1tsYwd3cCcpJ3ZwZ3Zmd2x1cWx и дальше..
Решается последней версией зеннодройда.

Кубик Задать буфер обмена на устройстве.
И эмуляция клавиатуры {AndroidKeys.PASTE}

Сразу вставляет ссылку длинную.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)