- Регистрация
- 21.04.2016
- Сообщения
- 2 312
- Благодарностей
- 1 191
- Баллы
- 113
Уже не в первый раз встречаю, что пользователи зеннопостера хотят запускать код ожидания уведомлений и, по мере его получения, продолжать работу.
Поэтому представляю шаблон, который всём этим занимается.
Преждем чем приступить к работе с уведомлениями нам надо включить их:
Далее нам нужно переопределить функцию для того, чтобы уведомления писались в консоль браузера:
И далее просто переходим на нужный сайт и ждем пока уведомление появится с таймаутом в 100 мс:
Поэтому представляю шаблон, который всём этим занимается.
Преждем чем приступить к работе с уведомлениями нам надо включить их:
C#:
instance.AllowNotification = true;
JavaScript:
console.logs = [];
(function () {
function notifyCallback(title, options) {
let info;
if (options && options.body)
{
info = {
title,
body: options.body
}
}
else
{
info = {
title,
}
}
console.logs.push(info);
}
const handler = {
construct(target, args) {
notifyCallback(...args);
return new target(...args);
}
};
const ProxifiedNotification = new Proxy(Notification, handler);
window.Notification = ProxifiedNotification;
})();
C#:
//Время ожидания
TimeSpan ts = TimeSpan.FromMinutes(5);
DateTimeOffset dtEnd = DateTimeOffset.UtcNow.Add(ts);
project.Variables["notification"].Value = "";
while (true)
{
if (DateTimeOffset.UtcNow > dtEnd)
break;
string result = instance.ActiveTab.MainDocument.EvaluateScript("return JSON.stringify(console.logs.pop());", true);
if (result != "" && result != "undefinied")
{
project.SendInfoToLog(result);
project.Variables["notification"].Value = result;
break;
}
//Таймаут между запросами
Thread.Sleep(100);
}
Вложения
-
16,3 КБ Просмотры: 83
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.