Доброго времени суток! Знатоки, подскажите, как разобраться с активным окном.
Есть задача(в браузере): нажимать на кнопку, потом она открывает новое окно, новое окно надо сделать "ворквиндов", что бы скрипт нашел картинку и кликнул по ней.
Сделал в таком виде, но оно не работает из-за неактивного окна на котором долно искать картинку.
Картинку нужно искать в активном окне или нет?
Не работает - это не самое корректное описание проблемы. Может окно не находится, может картинка не находится, может клик не туда делается. Ещё полно причин можно найти. Давайте по порядку.
Открываем окно, в котором ищем картинку. Запускаем скрипт:
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 %arr [1 1] %arr [1 2] #handle
left %arr [1 1] %arr [1 2] #handle
set #handle 0
while #handle = 0 // ждать пока окно не найдено
set #handle FindWindow(Фото)
wait 100
end_while
wait 500 // подождать, чтобы окно успело открыться
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 %arr [1 1] %arr [1 2] #handle
left %arr [1 1] %arr [1 2] #handle
set #handle 0
while #handle = 0 // ждать пока окно не найдено
set #handle FindWindow(Фото)
wait 100
end_while
wait 500 // подождать, чтобы окно успело открыться
Скиньте картинку, которую ищите и которая не находится в bmp. Даже не сомневаюсь что при увеличении они будут отличаться.
Там буквы немного отличаются по цвету.
Лучше искать рамку, а не слово.
instasub1.bmp ( 12,69 килобайт )
Кол-во скачиваний: 186
Картинку с рамкой лучше сами сделайте, эта может не находиться, т. к. на разных компах изображения могут отличаться.
Также можно добавить параметры для 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 - % отклонения в цвете
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 (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)