instance.WaitFieldEmulationDelay() в С#

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
На сколько правильно использовать instance.WaitFieldEmulationDelay(); перед каждым кликом / вводом внутри одного кубика?
Или 1 раза перед первой эмуляцией достаточно?
На скорость это влияет (если вызываем перед каждым кликом)?
Действия происходят на одной странице, страничка не обновляется.

C#:
HtmlElement StakeBox = instance.ActiveTab.FindElementByAttribute("input:text","class","bss-StakeBox_StakeValueInput","regexp",0);
instance.WaitFieldEmulationDelay();
StakeBox.RiseEvent("click","Full");
System.Threading.Thread.Sleep(50);
instance.WaitFieldEmulationDelay();
StakeBox.RiseEvent("click","Full");
instance.WaitFieldEmulationDelay();
System.Threading.Thread.Sleep(50);
StakeBox.SetValue(project.Variables["StakeValue"].Value, instance.EmulationLevel, false);
HtmlElement PlaceBetButton_StakeAmount = instance.ActiveTab.FindElementByAttribute("div","class","bss-PlaceBetButton_Text","regexp",0);
instance.WaitFieldEmulationDelay();
PlaceBetButton_StakeAmount.RiseEvent("click","Full");
System.Threading.Thread.Sleep(100);
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113
Тут пример: https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic397.html

RefreshFieldEmulationDelay - сбрасывает таймер, поэтому его требуется вызывать перед ожидаемым действием.
Его не требуется вызывать лишь после WaitFieldEmulationDelay, так как вызывается в нём при завершении.
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Тут пример: https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic397.html

RefreshFieldEmulationDelay - сбрасывает таймер, поэтому его требуется вызывать перед ожидаемым действием.
Его не требуется вызывать лишь после WaitFieldEmulationDelay, так как вызывается в нём при завершении.
Не смотря на то, что это ожидание заполнение поля его нужно вызывать перед каждым кликом, правильно я понимаю?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113
Не смотря на то, что это ожидание заполнение поля его нужно вызывать перед каждым кликом, правильно я понимаю?
Его надо вызывать после действия (WaitFieldEmulationDelay создаёт ожидание), а перед действием лишь сброс таймера (но сразу после WaitFieldEmulationDelay не имеет смысла).
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Там где вам требуется (но сразу после WaitFieldEmulationDelay не имеет смысла).
Понял. Это вопросы возникли после конверта обычного действия в С#
Еще вопрос.
Есть ли разница между эмуляциями? Что предпочтительнее?
he.RiseEvent("click", instance.EmulationLevel);
he.RiseEvent("click","Full");
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113
  • Спасибо
Реакции: arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Не прогадаете: https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic980.html
По сути, основа "полной эмуляции мыши" + там и клавиатура.
Почитал справку, но не совсем понял что вы хотели показать.
Буду использовать Фулл. Меня немного спутало что instance.EmulationLevel нет в подсказке2020-10-10_19-36-57.jpg
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 489
Благодарностей
3 356
Баллы
113
Там хранится это:
65233
Почитал справку, но не совсем понял что вы хотели показать.
Посмотрите MouseClick, SendKey и другие подобные. Это всё эмуляция нажатий в окне браузера, что более удобно для правдоподобности.
 

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