Что нового

Оповещение об изменении данных на веб странице

Stration

Новичок
Сообщения
8
Репутация
0
Версия AutoIt: 3.

Описание:
Здравствуйте.
Поискав по форуму не нашел решения своей проблемы.
Есть веб страница тех поддержки. (фрагмент страницы во вложении)
Нужно, что бы при появлении новой заявки (в определенном месте - Результаты фильтра: ИТ-инфраструктура: На распределение. РЦ Север) AutoIt это отследил и оповестил звуковым файлом.
Спасибо за помощь.
 

Вложения

  • РЦ.jpg
    РЦ.jpg
    88.9 КБ · Просмотры: 30
Последнее редактирование модератором:
Автор
S

Stration

Новичок
Сообщения
8
Репутация
0
Stration сказал(а):
Версия AutoIt: AutoIt v3 3.

Описание:
Здравствуйте.
Поискав по форуму не нашел решения своей проблемы.
Есть веб страница тех поддержки. (фрагмент страницы во вложении)
Нужно, что бы при появлении новой заявки (в определенном месте - Результаты фильтра: ИТ-инфраструктура: На распределение. РЦ Север) AutoIt это отследил и оповестил звуковым файлом.
Спасибо за помощь.

Еще пришла идея, но как ее реализовать?
Возможно ли сделать срабатывание триггера при изменении высоты в пикселях в классе li#rep-28341.gadget (при новой заявке высота меняется)
Скриншот во вложении


Примечания:
 

Вложения

  • рц11.jpg
    рц11.jpg
    136.3 КБ · Просмотры: 29

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
А почему по позиции? Нельзя отслеживать изменения на странице?
 
Автор
S

Stration

Новичок
Сообщения
8
Репутация
0
На странице много отделов. И может происходить много изменений. Нужно отслеживать в конкретной позиции, появилась заявка - подать звуковой сигнал (или изменился размер класса в пикселях, значит там что то появилось)


Добавлено:
Сообщение автоматически объединено:

Я так понимаю нужно из страницы взять объект с id="rep-28341" (он не меняется) и как то отслеживать параметр style="height: 70px", при изменении этого значения подать звуковой сигнал.

#include <IE.au3>
Local $oIE = _IECreate("http://мой сайт",0,1,0,1)
Sleep(2000)
Local $oDiv = _IEGetObjById($oIE, "rep-28341")
----А вот как дальше???-------
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Ну, можешь innerText сравнивать, например.
 
Автор
S

Stration

Новичок
Сообщения
8
Репутация
0
Я не знаю как дальше писать код.
Ну не силен я в программировании)))
 

hedji

Продвинутый
Сообщения
409
Репутация
94
OffTopic:

Судя по скриншотам, это Jira.
Не в ту сторону копаете:
1) Жира имеет свои звуковые оповещения, надо только настроить
2) Есть оповещения по e-mail, в Outlook сообщения фильтруем в отдельную папку и настраиваем звук оповещения о новых письмах в данной папке.
 
Последнее редактирование модератором:
Автор
S

Stration

Новичок
Сообщения
8
Репутация
0
OffTopic:

Судя по скриншотам, это Jira.
Не в ту сторону копаете:
1) Жира имеет свои звуковые оповещения, надо только настроить
2) Есть оповещения по e-mail, в Outlook сообщения фильтруем в отдельную папку и настраиваем звук оповещения о новых письмах в данной папке.
Тут все сложнее)
Жиру никто настраивать не хочет, а у нас к ней нет доступа, поэтому хочется изобрести вот такой костыль.
 

ZaRaki

Знающий
Сообщения
48
Репутация
19
Тут все сложнее)
Жиру никто настраивать не хочет, а у нас к ней нет доступа, поэтому хочется изобрести вот такой костыль.
Тоесть у вас есть сайт, на котором стоит движок, к которому вы не имеете доступ?
Это не много странно звучит ))
Просто реально было бы проще сделать настройку данного модуля в самом движке. Элементарно websocket делает ровно то, что вам нужно, как только получает ответ от сервера на запрос новой заявки, делает любое действие, которое сами указываете.
.
Но если у вас всё же по какой-то причине реально нет доступа, или впринципе нет ресурсов чтобы править неизвестный вами движок сайта - то в любом случае, чтобы делать костыль на autoit, нужно предоставить саму страничку. Сохраните html код страницы открытую в internet explorer не зависимо от того, сколько/какие запросы там будут в момент сохранения.
 
Автор
S

Stration

Новичок
Сообщения
8
Репутация
0
Тоесть у вас есть сайт, на котором стоит движок, к которому вы не имеете доступ?
Это не много странно звучит ))
Просто реально было бы проще сделать настройку данного модуля в самом движке. Элементарно websocket делает ровно то, что вам нужно, как только получает ответ от сервера на запрос новой заявки, делает любое действие, которое сами указываете.
.
Но если у вас всё же по какой-то причине реально нет доступа, или впринципе нет ресурсов чтобы править неизвестный вами движок сайта - то в любом случае, чтобы делать костыль на autoit, нужно предоставить саму страничку. Сохраните html код страницы открытую в internet explorer не зависимо от того, сколько/какие запросы там будут в момент сохранения.

Доступа к движку нет.
Сообщение автоматически объединено:

ап
Сообщение автоматически объединено:

Логиниться не нужно, логин автоматом.
Прикрепляю страницу с заявками и без.
Отслеживать нужно только "Результат фильтра: ИТ-инфраструктура: На распределение. РЦ Север", остальное не нужно.
Сообщение автоматически объединено:


Сообщение автоматически объединено:

Скрипт выполняется, но ничего не происходит. Ошибка в скрипте. Скриншот во вложении. Там же файл Source.htm
Сообщение автоматически объединено:

Заявка на сайте есть
 

Вложения

  • 1-я линия Оперативный стол СЕВЕР - Jira_jspa.zip
    14.3 КБ · Просмотры: 4
  • С заявкой.zip
    1.5 МБ · Просмотры: 3
  • Без заявки.zip
    1.5 МБ · Просмотры: 4
  • Pictures-sources.zip
    84.3 КБ · Просмотры: 3
Последнее редактирование:

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Код:
#include <MsgBoxConstants.au3>
#include <IE.au3>
Opt("TrayAutoPause", 0)

Global $sURL = "", _ ;Ссылка страницы тех. поддержки
        $sMP3 = "", _ ;Звуковой файл для уведомления
        $iDelay = 180000, _ ;Пауза между проверками
        $sID = "rep-28341", _ ;ID объекта для проверки
        $iDefH = 70 ;Высота элемента без заявок

Global $oIE = _IECreate($sURL), $oDiv, $iH, $iCurH
OnAutoItExitRegister("_OnExit")

While Sleep($iDelay)
    _IEAction($oIE, "refresh")
    _IELoadWait($oIE, 250)

    $oDiv = _IEGetObjById($oIE, $sID)
    If @error Then Exit MsgBox($MB_TOPMOST + $MB_ICONERROR, Default, "Объект не найден")

    $iH = Number($oDiv.style.getAttribute("height"))
    If $iH <> $iDefH And $iH <> $iCurH Then
        SoundPlay($sMP3)
        $iCurH = $iH
    EndIf
WEnd

Func _OnExit()
    _IEQuit($oIE)
EndFunc   ;==>_OnExit
 
Последнее редактирование:
Автор
S

Stration

Новичок
Сообщения
8
Репутация
0
Код:
;~ AutoIt Version: 3.3.14.5
#include <MsgBoxConstants.au3>
#include <IE.au3>
#include <Sound.au3>
Opt("TrayAutoPause", 0)

Global $sURL = "", $sMP3 = "", $iDelay = 180000, $iDefH = 70

Global $oIE = _IECreate($sURL), $oDiv, $iH, $iCurH
OnAutoItExitRegister("_OnExit")

While Sleep($iDelay)
    _IEAction($oIE, "refresh")
    _IELoadWait($oIE, 250)

    $oDiv = _IEGetObjById($oIE, "rep-28341")
    If @error Then Exit MsgBox($MB_TOPMOST + $MB_ICONERROR, Default, "Объект не найден")

    $iH = _IEPropertyGet($oDiv, "height")
    If $iH <> $iDefH And $iH <> $iCurH Then
        _SoundPlay($sMP3)
        $iCurH = $iH
    EndIf
WEnd

Func _OnExit()
    _IEQuit($oIE)
EndFunc   ;==>_OnExit
Огромное спасибо Tempo, это то что нужно. Скрипт работает как надо.
 
Верх