Author Topic: напишите пожалуйста 2 простеньких скрипта для Google Chrome.  (Read 11985 times)

0 Members and 2 Guests are viewing this topic.

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
первый должен обновлять(ctrl-r) страницу раз в 5 минут, и при обнаружении определённого слова например "сообщение" жать клавишу принт скрин.
второй должен жать ссылку подписаную "туда>" каждые 5 секунд, и при обнаружении того же слова "сообщение" тоже жать принт скрин..
буду очень благодарен...

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
вот до чего додумался по  поводу второго пункта...
в file.bmp скрин ссылки "туда>"
getscreen
IF_PICTURE_IN (1252, 239, 1321, 287, "file.bmp")
WAITMS (1000)
KEYPRESS (#PRINTSCREEN)
WAITMS (1000)
LCLICK (1283, 288)
END_IF

но это не работает. поправтье пожалуйста где я ошибся..
« Last Edit: September 22, 2013, 04:51:56 PM by islavik83 »

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
что именно не работает? картинку находит? разберитесь сначала с этим, поставьте в условие например вывод текста  лог

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
картинку не находит,  скрин не делает, и не кликает на ссылку "туда>".. а где это условие поставить..? ни в настройках, ни в редакторе не нашел...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вот тебе скрипт. Картинку "file.bmp" нужно положить в туже папку где находится скрипт.
Запускаешь и курсор переместится на твою искомую картинку, или выскочит сообщение "Не нашел". Все просто...

Code: (clickermann) [Select]
getscreen
IF_PICTURE_IN (1252, 239, 1321, 287, "file.bmp")
   MOVE($_return1, $_return2)
Else
   HINTPOPUP("Не нашел")
END_IF

HALT

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
не нашел... не понимаю почему... обновляю список окон, выбираю нужное, и не находит..

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
не знаю имеет значение или нет но курсор должен кликать не на картинку в браузере, а на ссылку.. она выглядит вот так..

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
Вот тебе скрипт. Картинку "file.bmp" нужно положить в туже папку где находится скрипт.
Запускаешь и курсор переместится на твою искомую картинку, или выскочит сообщение "Не нашел". Все просто...

Code: (clickermann) [Select]
getscreen
IF_PICTURE_IN (1252, 239, 1321, 287, "file.bmp")
   MOVE($_return1, $_return2)
Else
   HINTPOPUP("Не нашел")
END_IF

HALT
находит, и курсор на то место что на скрине перемещается... поправьте пожалуйста

getscreen
IF_PICTURE_IN (1437, 247, 1723, 993, "141.bmp")   ищет нужный мне текст
 WAITMS (1000)
 KEYPRESS (#PRINTSCREEN)   не нажимается кнопка
 WAITMS (3000)
IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")  находит ссылку
   MOVE($_return1+10, $_return2+10) перемещаестя на ссылку
WAITMS (1000)
LCLICK    не пойму как заставить нажать на ссылку
   
END_IF
 
HALT

и все это должно повторятся минимум 400 раз

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Писать это видимо нужно так:

Code: (clickermann) [Select]
// Ctrl+R раз в 5 мин
DEFINE($time, $_time_t + 300)
IF($time < $_time_t)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#R)
   WAITMS (50)
   KEYUP (#R)
   KEYUP (#CTRL)
   WAIT (5)
   $time = $_time_t + 300
END_IF

// Поиск "Сообщение"
getscreen
IF_PICTURE_IN (1437, 247, 1723, 993, "141.bmp")
   WAITMS (1000)
   KEYPRESS (#PRINTSCREEN)
   WAITMS (3000)
END_IF

// Поиск "туда"
IF($time2 < $_time_t)
   getscreen
   IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")
      LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
   END_IF
END_IF

WAITMS (200)

Оказалось что PRINTSCREEN кликер ни в какую не жмет. Тебе для чего его жать то?

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
принтскрин нужно жать что бы сторонняя программа делала скрини.. собрать кой какую информацию нужно..
но этот вопрос решил.. в программе переназначил клавишу делающую скрин, и в скрипте поправил.. скрины делает.. а как теперь зацыклить выполнение..?
и в той части где обновляется страница скрипт должен искать определенный рисунок, и если найдет тоже жать принтскрин...
« Last Edit: September 23, 2013, 11:56:24 AM by islavik83 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Для твоего сведения кликер сам умеет делать скриншоты командой SCREENSHOT. В настройках поставь галочку на Скриншоты в JPG чтоб файлы были меньше. Скрины будут сохраняться в ту же папку где лежит скрипт.

Code: (clickermann) [Select]
// Ctrl+R раз в 5 мин
DEFINE($time, $_time_t + 300)
IF($time < $_time_t)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#R)
   WAITMS (50)
   KEYUP (#R)
   KEYUP (#CTRL)
   WAIT (5)
   $time = $_time_t + 300
END_IF

// вот здесь помести еще один поиск


// Поиск "Сообщение"
getscreen
IF_PICTURE_IN (1437, 247, 1723, 993, "141.bmp")
   WAITMS (1000)
   SCREENSHOT
   WAITMS (3000)
END_IF

// Поиск "туда"
IF($time2 < $_time_t)
   getscreen
   IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")
      LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
   END_IF
END_IF

WAITMS (200)

islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
Для твоего сведения кликер сам умеет делать скриншоты командой SCREENSHOT. В настройках поставь галочку на Скриншоты в JPG чтоб файлы были меньше. Скрины будут сохраняться в ту же папку где лежит скрипт.

Code: (clickermann) [Select]
// Ctrl+R раз в 5 мин
DEFINE($time, $_time_t + 300)
IF($time < $_time_t)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#R)
   WAITMS (50)
   KEYUP (#R)
   KEYUP (#CTRL)
   WAIT (5)
   $time = $_time_t + 300
END_IF

// вот здесь помести еще один поиск


// Поиск "Сообщение"
getscreen
IF_PICTURE_IN (1437, 247, 1723, 993, "141.bmp")
   WAITMS (1000)
   SCREENSHOT
   WAITMS (3000)
END_IF

// Поиск "туда"
IF($time2 < $_time_t)
   getscreen
   IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")
      LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
   END_IF
END_IF

WAITMS (200)

скрины делает исправно.. 1 цикл  проходит на ура, после этого перехода
LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
   END_IF
END_IF
полный ступор

если я правильно понял вот эта часть не срабатывает после перехода
 getscreen
   IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")
      LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
на следующей странице все та же ссылка с именем "туда", и она 100% находится в зоне поиска, но не срабатывает..
а.. еще после того как не сработал последний переход скрипт продолжает клепать скрины
« Last Edit: September 23, 2013, 02:44:19 PM by islavik83 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
После того как картинка file.bmp будет найдена, вся вот эта часть

// Поиск "туда"
IF($time2 < $_time_t)
.........
END_IF

Будет игнориться 5 секунд

Да забыл добавить, перед SCREENSHOT нужно писать GETSCREEN чтоб снимок был актуальный

Вообще это твой алгоритм и тебе там лучше видно что за чем идет.


islavik83

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
Для твоего сведения кликер сам умеет делать скриншоты командой SCREENSHOT. В настройках поставь галочку на Скриншоты в JPG чтоб файлы были меньше. Скрины будут сохраняться в ту же папку где лежит скрипт.

Code: (clickermann) [Select]
// Ctrl+R раз в 5 мин
DEFINE($time, $_time_t + 300)
IF($time < $_time_t)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#R)
   WAITMS (50)
   KEYUP (#R)
   KEYUP (#CTRL)
   WAIT (5)
   $time = $_time_t + 300
END_IF

// вот здесь помести еще один поиск


// Поиск "Сообщение"
getscreen
IF_PICTURE_IN (1437, 247, 1723, 993, "141.bmp")
   WAITMS (1000)
   SCREENSHOT
   WAITMS (3000)
END_IF

// Поиск "туда"
IF($time2 < $_time_t)
   getscreen
   IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")
      LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
   END_IF
END_IF

WAITMS (200)

скрины делает исправно.. 1 цикл  проходит на ура, после этого перехода
LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
   END_IF
END_IF
полный ступор

если я правильно понял вот эта часть не срабатывает после перехода
 getscreen
   IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")
      LCLICK($_return1+10, $_return2+10)
      $time2 = $_time_t + 5
на следующей странице все та же ссылка с именем "туда", и она 100% находится в зоне поиска, но не срабатывает..
а.. еще после того как не сработал последний переход скрипт продолжает клепать скрины

по этому сценарию раз переходит и все...
вот я немного изменил, и все нормально стало ходить, только скриншоты делает как то не понятно... по 4-5 штук  там где должен сделать 1, и найденые изображения хочет скринит, а хочет не скринит(больше пропускает), проверено раз 10 на одних настройках....
getscreen
IF_PICTURE_IN (1437, 247, 1723, 993, "141.bmp")
   WAITMS (1000)
   SCREENSHOT
   WAITMS (3000)
END_IF
 
// Поиск "туда"
IF($time2 < $_time_t)
      WAITMS (1000)
      LCLICK(1287, 251)
      $time2 = $_time_t + 5
   END_IF
END_IF
 
WAITMS (200)

пробовал SCREENSHOT поменять на KEYPRESS (f8) от стороннего шутера.. та же проблема..

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Ну давай добавим условие, по которому часть "скриншот" заработает только после перехода "туда", причем 1 раз.
На счет остального убедись что кликер стабильно находит это "ТУДА"

Code: (clickermann) [Select]
// Ctrl+R раз в 5 мин
DEFINE($time, $_time_t + 300)
IF($time < $_time_t)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#R)
   WAITMS (50)
   KEYUP (#R)
   KEYUP (#CTRL)
   WAIT (5)
   $time = $_time_t + 300
END_IF

// вот здесь помести еще один поиск


// Поиск "Сообщение"
IF($scrin = 1)
   getscreen
   IF_PICTURE_IN (1437, 247, 1723, 993, "141.bmp")
      SCREENSHOT
      $scrin = 0
      WAITMS (3000)
   END_IF
END_IF

// Поиск "туда"
IF($time2 < $_time_t)
   getscreen
   IF_PICTURE_IN (1186, 214, 1346, 287, "file.bmp")
      LCLICK($_return1+10, $_return2+10)
      $scrin = 1
      $time2 = $_time_t + 5
   END_IF
END_IF

WAITMS (200)