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

Основной раздел => Общие вопросы => Topic started by: dumbuser2000 on November 01, 2022, 12:19:42 PM

Title: SCANPICTURE - клик по картинке с условиями
Post by: dumbuser2000 on November 01, 2022, 12:19:42 PM
Здравствуйте!

Помогите пожалуйста доработать скрипт, который кликает по очереди на все картинки BBB.bmp в браузере в заданной области экрана:

Code: [Select]
GETSCREEN
      COLORMODE(7)
      SCANPICTURE($ARR_SCAN, 0,0, 3180,$_ymax, "BBB.bmp", -1, 80)
      $ARR_NUM = 0
      WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
         $X = $ARR_SCAN [$ARR_NUM]
         INC($ARR_NUM,1)
         $Y = $ARR_SCAN [$ARR_NUM]
         INC($ARR_NUM,1)
         LCLICK(($X+15), $Y)   // клик по BBB
         WAITMS(1)
      END_CYC
      UNDEFINE($ARR_SCAN)

Условие:

Задача: Необходимо сделать очень быстро LCLICK на картинки BBB в столбце «2», при условии, что в этой же строке в столбце «1» нет картинки GGG.
если смотреть на пример таблицы, то конкретно в ней нужно кликнуть по BBB в строках №№ 2,4,6,8,10.

p/s после того, как все нужные BBB "прокликаны", в ручную делается перезагрузка страницы, и таблица меняется и снова нужно прокликать по BBB и т.д.

вид таблицы: https://disk.yandex.ru/i/INBoKJqAUyRrag (https://disk.yandex.ru/i/INBoKJqAUyRrag)
Title: Re: SCANPICTURE - клик по картинке с условиями
Post by: dumbuser2000 on November 01, 2022, 05:19:45 PM
сам додумался :), может кому пригодится:
Code: [Select]
GETSCREEN
      COLORMODE(7)
      SCANPICTURE($ARR_SCAN, 3000,0, 3180,$_ymax, "BBB.bmp", -1, 80)
     
      $ARR_NUM = 0
      WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
         $X = $ARR_SCAN [$ARR_NUM]
         INC($ARR_NUM,1)
         $Y = $ARR_SCAN [$ARR_NUM]
         INC($ARR_NUM,1)
                     
            IF_PICTURE_IN (1300,$y, 1550,$y+30, "GGG.bmp", 0, 80)  //ищем GGG левее BBB
    ELSE   
            LCLICK(($X+15), $Y)   // клик по BBB
            END_IF

         WAITMS(1)
      END_CYC
      UNDEFINE($ARR_SCAN)
Title: Re: SCANPICTURE - клик по картинке с условиями
Post by: Vint on November 01, 2022, 05:22:12 PM
Code: (clickermann) [Select]
GETSCREEN
SCANPICTURE($scan, 0,0, 3180,$_ymax, "BBB.bmp", -1, 80)

$scan_size = ARRSIZE($scan)
FOR($i=0, $i < $scan_size, 2)
    $bbbX = $scan[$i]
    $bbbY = $scan[$i+1]

    IF_PICTURE_IN($bbbX-2000,$bbbY-3, $bbbX-1900,$bbbY+15, "GGG.bmp", -1,100)
    ELSE
        LCLICK($bbbX+3, $bbbY+3)
        WAITMS(50)
    END_IF
   
END_CYC
UNDEFINE($scan)

HALT

Тщательно настроить поиск GGG. Должно, если есть, всегда находить при заданном колормоде и проценте.

Задача: Необходимо сделать очень быстро LCLICK

Чтобы было быстрее, нужно точней задать область поиска для BBB и GGG. Вторым, по X, можно относительные, как в примере, можно абсолютные.

p/s после того, как все нужные BBB "прокликаны", в ручную делается перезагрузка страницы, и таблица меняется и снова нужно прокликать по BBB и т.д.
Без понятия, зачем здесь вручную перезагрузка страницы, но если так нужно, то непонятно что делать коду, ну в ручную и вручную.