Эмуляция ввода текста: Chromium vs CEF Chrome

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

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
33
Реакции
4
Баллы
8
Доброго времени. Столкнулся с проблемой эмулирования ввода текста при Chromium.

Начальные данные:
Тестирую в PM 7.7.2.0

Инстанс: Chromium
Эмуляция задержек: 0 - 0 (скорость)
Эмуляция ввода на кубике:
Позиция 1 (скорость) - текст не вставляет
Позиция 2 - текст не вставляет
Позиция 3 - текст вставляет, с задержкой эмулирования
Позиция 4 - текст вставляет, с задержкой эмулирования

Инстанс: CEF Chrome
Эмуляция задержек: 0 - 0 (скорость)
Эмуляция ввода на кубике:
Позиция 1 (скорость) - текст не вставляет
Позиция 2 - текст не вставляет
Позиция 3 - текст вставляет, моментально
Позиция 4 - текст вставляет, с задержкой эмулирования

Какие есть варианты и предложения добиться на chromium вставки текста, без задержки эмулирования (моментально)?
Вставка через буфер, крайний случай, если не найду решения. Заранее благодарю!
 
Последнее редактирование:
Если я правильно понял, то выполните: instance.EmulationLevel = "Middle"; и отключите "эмуляцию мыши" в настройках проекта.
 
  • Спасибо
Реакции: AlexeyP
Если я правильно понял, то выполните: instance.EmulationLevel = "Middle"; и отключите "эмуляцию мыши" в настройках проекта.

Эмуляция мыши отключена.

instance.EmulationLevel = "Middle";

запуск через c#? Отрабатывает, но без изменений!(
Также вставляет с задержкой ввода (символы вставляются по одному, как будто с эмуляцией нажатий, но не моментально как в CEF)
 
Пробуй:
По элементу кубик focus -> кубик click -> эмуляция клавиатуры

Эмуляция клавиатуры, быстрее да, но не моментально. Лучше уж буфер обмена.
Но, хотелось бы разобраться в причине такого поведения (различия между вставкой, в зависимости от типа браузера) .
 
Эмуляция мыши отключена.

instance.EmulationLevel = "Middle";

запуск через c#? Отрабатывает, но без изменений!(
Также вставляет с задержкой ввода (символы вставляются по одному, как будто с эмуляцией нажатий, но не моментально как в CEF)
Если большой объём текста, то может по символам вводить, хотя emulation на Middle это решает. Проверьте как ищется элемент для ввода текста, измените способ поиска. Банально, но перезагрузка ПК может помочь, особенно если долго работали в PM.
 
  • Спасибо
Реакции: AlexeyP
Последнее редактирование:
Текст небольшой. Аналогичное поведение и с большим текстом.
ПК перезагружал, emulation middle пробовал, изменял поиск элемента классика / xpath .

Видео пример:
Chromium: CEF:
Видео недоступны.
Лучше сразу сайт и данные.
 
  • Спасибо
Реакции: AlexeyP
Видео недоступны.
Лучше сразу сайт и данные.

Перезалил на ЯД.
Chromium: https://disk.yandex.ru/i/sv00wnsZO85XHQ
CEF: https://disk.yandex.ru/i/RU7MRkzQiNfXRw


Данный вариант тестировал на странице регистрации Pinterest: https://ru.pinterest.com/business/create/
Но проблема актуальна для всех сайтов и форм.

CEF: отрабатывает как необходимо (с моментальной вставкой)
Chromium: посимвольным вводом с задержкой
При эмуляции ввода (3 из 4)

Шаблон чисто для тестов.
1) Запускает инстанс.
2) Ставит эмуляцию/задержку/состояние занятости
3) Переходит на страницу: https://ru.pinterest.com/business/create/
4) Пытается ввести текст в поле input:email по value
 
Последнее редактирование:
Перезалил на ЯД.
Chromium: https://disk.yandex.ru/i/sv00wnsZO85XHQ
CEF: https://disk.yandex.ru/i/RU7MRkzQiNfXRw


Данный вариант тестировал на странице регистрации Pinterest: https://ru.pinterest.com/business/create/
Но проблема актуальна для всех сайтов и форм.

CEF: отрабатывает как необходимо (с моментальной вставкой)
Chromium: посимвольным вводом с задержкой
При эмуляции ввода (3 из 4)

Шаблон чисто для тестов.
1) Запускает инстанс.
2) Ставит эмуляцию/задержку/состояние занятости
3) Переходит на страницу: https://ru.pinterest.com/business/create/
4) Пытается ввести текст в поле input:email по value
У меня вставляет сразу, пример приложил.
 

Вложения

  • Спасибо
Реакции: AlexeyP
  • Спасибо
Реакции: AlexeyP

Благодарю, что пытаешься решить мою проблему!)

Результат: https://disk.yandex.ru/d/gK77ul2QV5yP2Q

Гораздо быстрее, но все равно не моментально (возможно погрешность отрисовки). И это было бы решением моей проблемы. Но, один большой нюанс: Я же делаю все на кубиках. А кубики пишут посимвольно, при "Эмуляция ввода- позиция 3"
 
Благодарю, что пытаешься решить мою проблему!)

Результат: https://disk.yandex.ru/d/gK77ul2QV5yP2Q

Гораздо быстрее, но все равно не моментально (возможно погрешность отрисовки). И это было бы решением моей проблемы. Но, один большой нюанс: Я же делаю все на кубиках. А кубики пишут посимвольно, при "Эмуляция ввода- позиция 3"
Нормальная скорость. Быстрее будет если только эмуляцию на "Middle" поставить, но Pinterest не даёт.
 
  • Спасибо
Реакции: AlexeyP
Нормальная скорость. Быстрее будет если только эмуляцию на "Middle" поставить, но с ней не заполняются поля.

"из-за версии ZP" Попробую обновить, отпишусь.

А если вариант:
"проблема в вашей системе"
В какую сторону вообще смотреть? Windows 11
 
"из-за версии ZP" Попробую обновить, отпишусь.

А если вариант:
"проблема в вашей системе"
В какую сторону вообще смотреть? Windows 11
Я уже ответил, что скорость нормальная у вас для Full эмуляции.
 
Я уже ответил, что скорость нормальная у вас для Full эмуляции.


Я к тому что при всех прочих равных, на full эмуляции, CEF Chrome вставляет текст моментально любого объема (в прикрепленном видео показывал).
 
Я к тому что при всех прочих равных, на full эмуляции, CEF Chrome вставляет текст моментально любого объема (в прикрепленном видео показывал).
Chromium и CEF на базе хрома не прочие равные) от это и скорость может быть разной.
 
  • Спасибо
Реакции: AlexeyP
Chromium и CEF на базе хрома не прочие равные) от это и скорость может быть разной.

Вот и я в целом к этому!) Имеет место быть ваш вариант на C# при использовании chromium. Благодарю.
Но, все же может, в случае с кубиками, можно ли добиться такой-же скорости для full эмуляции?
Более чем уверен что можно практически все, вопрос подхода. В какую сторону копать
 
Последнее редактирование:
Вот и я в целом к этому!) Имеет место быть ваш вариант на C# при использовании chromium. Благодарю.
Но, все же может, в случае с кубиками, можно ли добиться такой-же скорости для full эмуляции?
Более чем уверен что можно практически все, вопрос подхода. В какую сторону копать
В сторону http-запросов)
 
  • Спасибо
Реакции: AlexeyP
автор, пробуй вставку через яваскрипт.
 
  • Спасибо
Реакции: AlexeyP
В сторону http-запросов)

Намек понял! Тогда уж пожалуй c# !)

Но, методом тыка и перебора, выявил зависимость от куда все шло.

Замедление ввода происходит из-за кубика "эмуляция задержек" выставленного в 0-0. Хотя, по логике, это должно ускорять ввод или я что-то не понимаю. Если "эмуляцию задержек" не выставлять, все размещается на скорости, как и в примере c# от Meteorburn.

Видео пример на пустом шаблоне (chromium): https://disk.yandex.ru/i/ZJIA0uXozxU5tQ

Жаль, что по прежнему не моментально, как в CEF. Эх
 
  • Спасибо
Реакции: Meteorburn
Намек понял! Тогда уж пожалуй c# !)

Но, методом тыка и перебора, выявил зависимость от куда все шло.

Замедление ввода происходит из-за кубика "эмуляция задержек" выставленного в 0-0. Хотя, по логике, это должно ускорять ввод или я что-то не понимаю. Если "эмуляцию задержек" не выставлять, все размещается на скорости, как и в примере c# от Meteorburn.

Видео пример на пустом шаблоне (chromium): https://disk.yandex.ru/i/ZJIA0uXozxU5tQ

Жаль, что по прежнему не моментально, как в CEF. Эх
Кубик эмуляции задержек нужен когда нужно добавить задержку. Подефолту он не нужен.

Отключите загрузку изображений, css, включите игнорирование разных типов данных при переходе на страницу, заблокируйте get/post-запросы, которые не влияют на взаймодействия с вашим сайтом, но фоново выполняются и дают доп. нагрузку. Всё это доступно в стандартных кубиках.

В настройках ZennoPoster протестируйте опции альтернативной отрисовки для Chromium и отключение GPU для Webgl.
Это может дать тот эффект, который ждёте.
 
  • Спасибо
Реакции: AlexeyP

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