Здравствуйте, гость ( Вход | Регистрация )

> Findimage, Антикапча
dunkel
сообщение 2.11.2018, 0:45
Сообщение #1


***

Novice
Сообщений: 75
Регистрация: 20.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.296
Возраст: 30



Хочу побороть элементарную капчу

Суть капчи такова Прикрепленное изображение

Всего в капче 8 рисунков. Когда она выскакивает появляется окошко разделённое чертой. Сверху 2-а случайных рисунка из 8-и. А ниже все 8-ем из которых нужно выбрать 2-а что были выше.

Как сделать чтобы скрипт искал картинки сверух вниз и слева направо (хотя вроде по умолчанию как раз так) И если встретил похожие то кликал по ним. То есть когда он встречал бы знакомый рисунок впервые, он бы на него не реагировал, а реагировал только если он его встретил во второй или в третий раз.


Я пробовал крутить с этим скриптом, но где то я что то упускаю.

set #startX 0
set #startY 0
set #endX 1200
set #endY 720
set $path "c:\ima\"
set %image [1] c1
set %image [2] c2
set %image [3] c3
set %image [4] c4
set %image [5] c5
set %image [6] c6
set %image [7] c7
set %image [8] c8
set #size size(%image) // всего картинок (Тут я так и не понял куда надо вставлять количество картинок. У меня их восемь)
hint #size

:metka
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
kleft %arr[1 1] %arr[1 2]
wait 1000
end_if
end_for
wait 2000
goto metka
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 3.11.2018, 1:33
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26857
Пользователь №: 16.971
Возраст: 29



код
Код
set #startX 0
set #startY 0
set #endX 1200
set #endY 720
set $path "c:\ima\"
init_arr %image c1 c2 c3 c4 c5 c6 c7 c8

set #size size(%image)

set findoffsetx 13   // смещение для координаты X
set findoffsety 11   // смещение для координаты Y
repeat 2   // повторить 2 раза
    set #z 1
    for #i 1 #size 1 // цикл для поиска картинок
        set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2 100 -1 10)
        if  size(%arr) > 1   // если найдено больше 1 картинки
            init_arr %arr2 (#z) %arr [1 1] %arr [1 2] %arr [2 1] %arr [2 2]
            set #z #z + 1
        end_if
    end_for
    sort_array %arr2 1

    kleft %arr2[1 1] %arr2[1 2]
    wait 500
    kleft %arr2[1 3] %arr2[1 4]
    wait 500

    set size(%arr2)
end_repeat
end_script

Кликнет по первой картинке и её аналоге, если они пропадут, то кликнет по второй паре.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dunkel
сообщение 3.11.2018, 2:04
Сообщение #3


***

Novice
Сообщений: 75
Регистрация: 20.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.296
Возраст: 30



Цитата(cirus @ 2.11.2018, 23:33) *


Кликнет по первой картинке и её аналоге, если они пропадут, то кликнет по второй паре.


Проблема возникает если картинка одинаковые (то есть если с верху 2 серых квадрата) и с низу получается уже 3я и 4я переменная, и ещё одна проблема появилась если капчи нету, то скрипт не находит не одной переменной и выдат ошибку.
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
dunkel   Findimage   2.11.2018, 0:45
cirus   set #a findimage (#startX #startY #endX #endY...   2.11.2018, 1:27
dunkel   set #a findimage (#startX #startY #endX #endY...   2.11.2018, 1:48
cirus   set #startX 0 set #startY 0 set #endX 1200 set #en...   2.11.2018, 2:06
dunkel   Спасибо огромное. Работает. Только не всегда ищет ...   2.11.2018, 2:48
cirus   Всегда. Сначала найдётся верхняя картинка, потом ...   2.11.2018, 2:57
dunkel   Всегда. Сначала найдётся верхняя картинка, потом ...   2.11.2018, 11:00
DarkMaster   На какой-то старой версии был такой глюк.   2.11.2018, 6:56
cirus   Ищутся коричневые квадраты - клик по верхнему, пот...   2.11.2018, 11:41
dunkel   А можно сделать чтобы только после клика по серым ...   2.11.2018, 22:15
cirus   set #startX 0 set #startY 0 set #endX 1200 set #en...   3.11.2018, 2:22
dunkel   Ошибку теперь не выдаёт и работает цеклично, но ес...   3.11.2018, 2:41
cirus   Может про это сразу надо было написать. set #star...   3.11.2018, 3:04
DarkMaster   Господа, а причем тут раздел плагинов?   3.11.2018, 6:24
dunkel   Господа, а причем тут раздел плагинов? Извиняюс...   3.11.2018, 16:20
dunkel   ДА! Это оно. Идеально! СПАСИБО большое за ...   3.11.2018, 11:09


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 7.6.2024, 14:02
Designed by Nickostyle