- Регистрация
- 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 КБ Просмотры: 111
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.