Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопрос
UoKit.com Форумы > Кликер > UO Pilot
Rolya
Доброго времени суток! Знатоки, подскажите, как разобраться с активным окном.
Есть задача(в браузере): нажимать на кнопку, потом она открывает новое окно, новое окно надо сделать "ворквиндов", что бы скрипт нашел картинку и кликнул по ней.
Сделал в таком виде, но оно не работает из-за неактивного окна на котором долно искать картинку.
Цитата
left 751, 556 abs
wait 4000
set #handle FindWindow(Фото)
set #a FindImage(0 0 1920 1080 (C:\instasub.bmp) %arr #handle)
if #a > 0
left %arr [1 1] %arr [1 2] #handle
end_if
wait 1000
sendex ^{w}
wait 3000
cirus
Картинку нужно искать в активном окне или нет?
Не работает - это не самое корректное описание проблемы. Может окно не находится, может картинка не находится, может клик не туда делается. Ещё полно причин можно найти. Давайте по порядку.
Открываем окно, в котором ищем картинку. Запускаем скрипт:
Код
set #a FindImage(0 0 1920 1080 (C:\instasub.bmp) %arr)     // искать будет в активном окне
if #a > 0
    hint #a     Картинка найдена
else
    hint #a      Картинка не найдена
end_if
end_script

Проверяем находится ли вообще картинка.
Тоже самое с поиском окна:
Код
set #handle FindWindow(Фото)
log #handle
end_script

Проверяем находится ли окно и нужное ли оно по хендлу.
Перед кликом можно добавить move, чтобы было видно куда вообще кликает:
Код
move %arr [1 1] %arr [1 2] #handle
left %arr [1 1] %arr [1 2] #handle


И это - wait 4000, не самый лучший способ дождаться появления окна.
Код
set #handle 0
while #handle = 0                            // ждать пока окно не найдено
    set #handle FindWindow(Фото)
    wait 100
end_while
wait 500  // подождать, чтобы окно успело открыться
Rolya
Цитата(cirus @ 24.1.2017, 15:15) *

Картинку нужно искать в активном окне или нет?
Не работает - это не самое корректное описание проблемы. Может окно не находится, может картинка не находится, может клик не туда делается. Ещё полно причин можно найти. Давайте по порядку.
Открываем окно, в котором ищем картинку. Запускаем скрипт:
Код
set #a FindImage(0 0 1920 1080 (C:\instasub.bmp) %arr)     // искать будет в активном окне
if #a > 0
    hint #a     Картинка найдена
else
    hint #a      Картинка не найдена
end_if
end_script

Проверяем находится ли вообще картинка.
Тоже самое с поиском окна:
Код
set #handle FindWindow(Фото)
log #handle
end_script

Проверяем находится ли окно и нужное ли оно по хендлу.
Перед кликом можно добавить move, чтобы было видно куда вообще кликает:
Код
move %arr [1 1] %arr [1 2] #handle
left %arr [1 1] %arr [1 2] #handle


И это - wait 4000, не самый лучший способ дождаться появления окна.
Код
set #handle 0
while #handle = 0                            // ждать пока окно не найдено
    set #handle FindWindow(Фото)
    wait 100
end_while
wait 500  // подождать, чтобы окно успело открыться



Проблемма на этапе поиска картинки. 1) открываю окно, принт скрином делаю скриншот и вставляю в пейнт, вырезаю ту кнопку, на которую надо нажать, сохраняю в бмп 24, кидаю в папку, запускаю скрипт, находит, пишет хинт 100, ок, поехали дальше, открываю такое же окно только профиль другого человека, запускаю скрипт, пишет 0, но картинка кнопки не могла же измениться (это же инстаграм)
cirus
Скиньте картинку, которую ищите и которая не находится в bmp. Даже не сомневаюсь что при увеличении они будут отличаться.
Rolya
Цитата(cirus @ 24.1.2017, 18:29) *

Скиньте картинку, которую ищите и которая не находится в bmp. Даже не сомневаюсь что при увеличении они будут отличаться.
cirus
Там буквы немного отличаются по цвету.
Лучше искать рамку, а не слово.
Нажмите для просмотра прикрепленного файла
Картинку с рамкой лучше сами сделайте, эта может не находиться, т. к. на разных компах изображения могут отличаться.
Также можно добавить параметры для Findimage, точность поиска и погрешность по цвету.
Код
set findoffsetx 30   // смещение для клика по X, подобрать нужное
set findoffsety 10            // смещение для клика по Y
set #a FindImage(0 0 1920 1080 (C:\instasub.bmp) %arr 2 50 1 10)
// 50 - это точность поиска, 10 - % отклонения в цвете
Rolya
Цитата(cirus @ 24.1.2017, 19:46) *

Там буквы немного отличаются по цвету.
Лучше искать рамку, а не слово.
Нажмите для просмотра прикрепленного файла
Картинку с рамкой лучше сами сделайте, эта может не находиться, т. к. на разных компах изображения могут отличаться.
Также можно добавить параметры для Findimage, точность поиска и погрешность по цвету.
Код
set findoffsetx 30   // смещение для клика по X, подобрать нужное
set findoffsety 10            // смещение для клика по Y
set #a FindImage(0 0 1920 1080 (C:\instasub.bmp) %arr 2 50 1 10)
// 50 - это точность поиска, 10 - % отклонения в цвете


спасибо, буду пробовать
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.