Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: bulgachevarada on October 20, 2017, 04:11:20 PM

Title: Поиск картинки в невидимой части страницы
Post by: bulgachevarada on October 20, 2017, 04:11:20 PM
Доброго дня помогите пожалуйста с макросом надо реализовать  поиск иконки кнопки репоста в вк через картинку и нажатие на нее, так как записи бывают разного размера картинку надо искать по всей странице в невидимой части экрана в том числе где без прокрутки не добраться возможно ли как то проще это сделать? или прокрутку обязательно и как вообще написать макрос, чтоб картинка находилась по любому цвету выставить диапазон неограниченный, так как цвет изменится если уже сделан был репост, а кнопку надо находить несколько раз не обновляя страницу...
И второе как если нашел такую страницу просто остановить макрос или повторять действие пока картинка не будет найдена с определенным интервалом. Спасибо. Заранее прошу прощения если повтор, но из всех тем что нашла никак не получалось реализовать, возможно из за смены цветовых гамм картинки
Title: Re: Поиск картинки в невидимой части страницы
Post by: Атеист on October 21, 2017, 12:05:14 PM
Доброго дня. Как вариант, кнопку можно закрепить в нужном месте видимой части сайта. Потребуется установить расширение для браузера типа Stylish. Пример из прошлой темы http://crapware.aidf.org/forum/index.php?topic=3143.msg21149#msg21149
Title: Re: Поиск картинки в невидимой части страницы
Post by: Oraven on October 22, 2017, 08:23:19 AM
Для борьбы с изменяющейся графикой применяй цветокоррекцию
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT

Нужно вырезать из этого скриншота картинку рупора.

Вот цикл поиска картинки. Если не найдено прокручиваем страницу. цикл ограничен 20ю секундами, если за это время не найдет то цикл завершится, если найдет то кликаем и завершаем цикл.
Code: (clickermann) [Select]
$time = $_time_t + 20 // таймер на 20 секунд
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 70) // поиск картинки с 70% процентов совпадения
      $time = 0
      LCLICK($_return1+2, $_return2+2)
      WAITMS(100)
   ELSE
      WHEELDOWN
      WAITMS(500)
   END_IF
END_CYC

А вот как выглядит поиск двух картинок "1.bmp" или "2.bmp"
Code: (clickermann) [Select]
$time = $_time_t + 10 // таймер на 20 секунд
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 80)
      $time = 0
      LCLICK($_return1+2, $_return2+2)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 80)
         $time = 0
         LCLICK($_return1+2, $_return2+2)
         WAITMS(100)
      ELSE
         WHEELDOWN
         WAITMS(500)
      END_IF
   END_IF
END_CYC
Title: Re: Поиск картинки в невидимой части страницы
Post by: bulgachevarada on October 22, 2017, 08:06:50 PM
Для борьбы с изменяющейся графикой применяй цветокоррекцию
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT

Нужно вырезать из этого скриншота картинку рупора.

Вот цикл поиска картинки. Если не найдено прокручиваем страницу. цикл ограничен 20ю секундами, если за это время не найдет то цикл завершится, если найдет то кликаем и завершаем цикл.
Code: (clickermann) [Select]
$time = $_time_t + 20 // таймер на 20 секунд
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 70) // поиск картинки с 70% процентов совпадения
      $time = 0
      LCLICK($_return1+2, $_return2+2)
      WAITMS(100)
   ELSE
      WHEELDOWN
      WAITMS(500)
   END_IF
END_CYC

А вот как выглядит поиск двух картинок "1.bmp" или "2.bmp"
Code: (clickermann) [Select]
$time = $_time_t + 10 // таймер на 20 секунд
WHILE($time > $_time_t)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 80)
      $time = 0
      LCLICK($_return1+2, $_return2+2)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 80)
         $time = 0
         LCLICK($_return1+2, $_return2+2)
         WAITMS(100)
      ELSE
         WHEELDOWN
         WAITMS(500)
      END_IF
   END_IF
END_CYC

Спасибо большое! все проделую, но не ищет ничего почему то, скрин через COLORMODE(6), открываю через пейнт выделяю рупор уменьшаю оставляя только нужный єлемент сохраняя в том же формате как бы просто сохранить все указываю как вы описали прокрутка идет а фотку никак не находит, уже и браузера меняла все никак в чем может быть проблема? изменяю процент на меньше ловит все подрят и текст но не то что надо...(
Title: Re: Поиск картинки в невидимой части страницы
Post by: Атеист on October 24, 2017, 12:34:13 AM
Вот что остается от страницы после применения css стилей...

(https://s8.hostingkartinok.com/uploads/images/2017/10/6802be7e04d6685edb130ae8e7b9939a.png) (https://hostingkartinok.com/show-image.php?id=6802be7e04d6685edb130ae8e7b9939a)

На картинке каждый пиксель в красной полоске это ссылка на которую нужно кликать (рупор). Синий кружок добавляет ссылки из невидимой части страницы сайта. Это как бы прокрутка страницы. После первого клика по кружку можно жмякать пробел. Если ссылок на странице много, то красная полоска будет расти,  построчно заполняя всю страницу и далее. Я выбрал страницу где очень много ссылок, даже не знаю сколько, устал прокручивать пробелом и бросил. На моем мониторе с разрешением 1440x900 уместится больше миллиона таких ссылок. Если отключить в браузере загрузку изображений, то это еще больше облегчит жизнь компу и Кликерману. Стили прилагаю.

[spoiler=Стили для ВК]
Code: (css) [Select]
#page_layout, #page_body {
margin: 0;
padding: 0;
width: 100% !important;
}
.page_header_cont, .side_bar, .page_block, .post_header, .wall_text, .post_full_like > a:not([class="post_share _share_wrap "]), .replies, .post_views, .post_share_count, .blind_label, .post_share_icon._icon {
display: none;
}
._post.post.page_block.all.own {
box-shadow: none;
margin: 0;
}
.wall_posts.own {
display: flex;
flex-wrap: wrap;
margin: 5px;
width: 100vw;
}
.tt_w {
display: none !important;
}
.wall_posts.own > div * {
margin: 0;
padding: 0;
}
.post_full_like_wrap {
border: none;
}
.post_share {
background: #FF00DC;
border-radius: 0;
height: 1px;
width: 1px;
}
#wall_more_link {
background: blue;
border-radius: 50%;
color: transparent;
height: 10px;
margin: 5px;
overflow: hidden;
padding: 0;
width: 10px;
}
[/spoiler]
Title: Re: Поиск картинки в невидимой части страницы
Post by: psyzum on October 29, 2017, 03:55:14 AM
//GETSCREEN
//COLORMODE(7)
//SCREENSHOTEX(99,90, 107,97, "vge7", 0)
//HALT

THREAD(name, 1)
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
END_IF
END_THREAD

THREAD(name, 2)
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
END_IF
END_THREAD

\\===============================
IF(pxl(55, 22) = 777)
$_return1+2
$y = $_return2+2
print( "  +")
//postmessage($hwnd, 0x0200, 0, $xp + ($yp*65536))
WAITMS(rnd(100,200))
postmessage($hwnd, 0x0201, 0x0001, $x + ($y*65536))
postmessage($hwnd, 0x0202, 0x0000, $x + ($y*65536))
ELSE
END_IF
кусочек себе ре и           я спать