Author Topic: Ссылки и переходы.  (Read 5709 times)

0 Members and 1 Guest are viewing this topic.

Shoushank

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Ссылки и переходы.
« on: October 18, 2014, 12:23:38 PM »
Здравствуйте!
Пишу программу для браузера. Нужен робот для работы с ссылками и сайтами. Скажу сразу, это автокликер по ссылкам. Ну не в этом суть. В этой программе я новичок так что сразу извиняюсь если вопрос очень глупый. Мне требуется осуществить переход в определенное место программы. К примеру как в ассемблере. Там кажется команда называется loop. И вот что то вроде этого мне нужно в кликермэне.
Попытаюсь приложить блок схему. Она очень примитивная, но что бы донести смысл ее достаточно. Так же там понадобятся переменные, но с этим я уже попозже разберусь...
« Last Edit: October 18, 2014, 12:50:28 PM by Shoushank »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Ссылки и переходы.
« Reply #1 on: October 18, 2014, 01:32:51 PM »
Мало информации.

Для начала открываем сайт командой EXECUTE
Code: (clickermann) [Select]
EXECUTE("http://crapware.aidf.org/forum/index.php?topic=1478.0")
Далее ищем ссылку стандартным поиском браузера
Code: (clickermann) [Select]
WAIT(5) // пауза на загрузку страницы
KEYDOWN (#CTRL) // Ctrl+F
WAITMS (60)
KEYDOWN (#F)
WAITMS (60)
KEYUP (#F)
KEYUP (#CTRL)
WAITMS(50)
KEYPRESS(#DELETE) // удаляем предыдущий поиск
WAITMS(50)

 // Вводим текст для поиска (ссылка на твою картинку)
TOCLIP("Блоксхема.jpg") // копируем в буфер
WAITMS(50)

KEYDOWN (#CTRL) // вставляем Ctrl+V
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS(500)

// ищем цвет выделения
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 2350115) // поиск цвета выделения
   // если найдено
   LCLICK($_return1+2, $_return2+2) // кликаем по найденному
   WAITMS(100)
ELSE
   // если не найдено
END_IF

И вот теперь если ссылка не найдена то что делать? И как мы поймем что произошел "Успех"? Что должно произойти и зачем снова кликать по ссылке?
И переход на сайт один и тот же или они разные? В общем много непонятного.

А переход в кликере реализован с помощью ГОТО
Code: (clickermann) [Select]
GOTO(metka) // переход к метке

metka: // метка
« Last Edit: October 18, 2014, 01:36:54 PM by Oraven »

Shoushank

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Ссылки и переходы.
« Reply #2 on: October 18, 2014, 01:40:14 PM »
Спасибо большое! Как я и сказал схема очень примитивная. Понять ее смогу только я. Ссылок может быть очень много и не каждая из них проходит. Если одна не прошла, то я иду кликать другую. Поэтому я ввел определение "Успех". В общем не буду морочить вам голову ненужной информацией. Думаю именно с метками у меня теперь все получится. Осталось разобраться в переменных. Спасибо вам большое!

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Ссылки и переходы.
« Reply #3 on: October 18, 2014, 02:03:16 PM »
На самом деле все это пишется проще. В подпрограмму вставляем наш поиск, в нужный момент происходит вызов подпрограммы с передачей ей текста для поиска, когда подпрограмма отработает выполнение вернется на следующую строку после вызова, а там еще вызовы с новым текстом. Важно: подпрограммы должны располагаться всегда вышке их вызова.

Code: (clickermann) [Select]
SUB(search, $links) // подпрограмма с параметрами
   WAIT(1)
   KEYDOWN (#CTRL) // Ctrl+F
   WAITMS (60)
   KEYDOWN (#F)
   WAITMS (60)
   KEYUP (#F)
   KEYUP (#CTRL)
   WAITMS(50)
   KEYPRESS(#DELETE) // удаляем предыдущий поиск
   WAITMS(50)
   
   // Вводим текст для поиска (ссылка на твою картинку)
   TOCLIP($links) // копируем в буфер
   WAITMS(50)
   
   KEYDOWN (#CTRL) // вставляем Ctrl+V
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   WAITMS(500)
   
   // ищем цвет выделения
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 2350115) // поиск цвета выделения
      // если найдено
      LCLICK($_return1+2, $_return2+2) // кликаем по найденному
      WAITMS(100)
   ELSE
      // если не найдено
   END_IF
END_SUB

// Тут начинается наша программа
// открываем страницу
EXECUTE("http://crapware.aidf.org/forum/index.php?topic=1478.0")
WAIT(10)

search("Ссылка 1") // вызываем подпрограмму и передаем ей текст для поиска
search("Ссылка 2")
search("Ссылка 3")
search("Ссылка 4")

Shoushank

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Ссылки и переходы.
« Reply #4 on: October 18, 2014, 02:10:19 PM »
Ну что то вроде этого я и собирался делать. Правда я не знал то что кликермэн может еще и ссылки сам искать) Жаль что мне такой способ не подойдет. Придется жать по ссылкам используя координаты. Тут все очень сложно. Если вам действительно интересно, то можете постучать в скайп: Showtime-cod. Тогда обьясню вам мою задумку подробнее.