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

AlexeyP

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

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

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

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

Какие есть варианты и предложения добиться на chromium вставки текста, без задержки эмулирования (моментально)?
Вставка через буфер, крайний случай, если не найду решения. Заранее благодарю!
 
Последнее редактирование:

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
Если я правильно понял, то выполните: instance.EmulationLevel = "Middle"; и отключите "эмуляцию мыши" в настройках проекта.
 
  • Спасибо
Реакции: AlexeyP

kagorec

Client
Регистрация
24.08.2013
Сообщения
1 062
Благодарностей
575
Баллы
113
Пробуй:
По элементу кубик focus -> кубик click -> эмуляция клавиатуры
 
  • Спасибо
Реакции: AlexeyP

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
Если я правильно понял, то выполните: instance.EmulationLevel = "Middle"; и отключите "эмуляцию мыши" в настройках проекта.
Эмуляция мыши отключена.

instance.EmulationLevel = "Middle";

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

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
Пробуй:
По элементу кубик focus -> кубик click -> эмуляция клавиатуры
Эмуляция клавиатуры, быстрее да, но не моментально. Лучше уж буфер обмена.
Но, хотелось бы разобраться в причине такого поведения (различия между вставкой, в зависимости от типа браузера) .
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
Эмуляция мыши отключена.

instance.EmulationLevel = "Middle";

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

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
Последнее редактирование:

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
Текст небольшой. Аналогичное поведение и с большим текстом.
ПК перезагружал, emulation middle пробовал, изменял поиск элемента классика / xpath .

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

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
Видео недоступны.
Лучше сразу сайт и данные.
Перезалил на ЯД.
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
 
Последнее редактирование:

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
Перезалил на ЯД.
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

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3

Вложения

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
  • Спасибо
Реакции: AlexeyP

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
Благодарю, что пытаешься решить мою проблему!)

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

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

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
Благодарю, что пытаешься решить мою проблему!)

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

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

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
Нормальная скорость. Быстрее будет если только эмуляцию на "Middle" поставить, но с ней не заполняются поля.
"из-за версии ZP" Попробую обновить, отпишусь.

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

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
"из-за версии ZP" Попробую обновить, отпишусь.

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

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
Я уже ответил, что скорость нормальная у вас для Full эмуляции.

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

Meteorburn

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

AlexeyP

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

Meteorburn

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

kelvin

Client
Регистрация
25.10.2019
Сообщения
13
Благодарностей
10
Баллы
3
автор, пробуй вставку через яваскрипт.
 
  • Спасибо
Реакции: AlexeyP

AlexeyP

Client
Регистрация
07.08.2022
Сообщения
24
Благодарностей
3
Баллы
3
В сторону http-запросов)
Намек понял! Тогда уж пожалуй c# !)

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

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

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

Жаль, что по прежнему не моментально, как в CEF. Эх
 
  • Спасибо
Реакции: Meteorburn

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 532
Благодарностей
609
Баллы
113
Намек понял! Тогда уж пожалуй c# !)

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

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

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

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

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

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

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