1 (изменено: Jokero, 2012-11-29 17:47:31)

Тема: AHK: Imagesearch, работа с браузером

Здравствуйте. Возникла потребность создать скрипт, который будет кликать по определенной области в браузере, но область каждый раз меняется. Поэтому решил использовать тег imagesearch, но увы, он не работает. Вот сам код:


CoordMode Pixel
^Z::
   Loop
      {
         Imagesearch, x, y, %x%, %y%, %a_screenwidth%, %a_screenheight%, %a_scriptdir%\test.bmp
         If Errorlevel = 0
         MouseClick, Left, X, Y
      }

2

Re: AHK: Imagesearch, работа с браузером

Вы не указали левую верхнюю точку, откуда следует начинать поиск (координаты 0;0)
Либо исправьте

         Imagesearch, x, y, 0, 0, %a_screenwidth%, %a_screenheight%, %a_scriptdir%\test.bmp

либо добавьте в начало

x = 0
y = 0

И ещё, координаты найденного изображения помещаются в переменные x, y. А щелчок мышью производится по X, Y. А для переменных заглавные и малые буквы - не одно и то же.

3

Re: AHK: Imagesearch, работа с браузером

лучше искать от 0,0 (или другой фиксированной точки). Если задать сначала x=0, y=0 и искать в цикле через %x% и %y%, то возникнет незапланированный побочный эффект ))

4 (изменено: Malcev, 2012-11-29 18:35:52)

Re: AHK: Imagesearch, работа с браузером

А для переменных заглавные и малые буквы - не одно и то же.

Вы ошибаетесь.

Variable names: Variable names are not case sensitive

http://www.autohotkey.com/docs/Variables.htm

x = 0
X = 1
Msgbox % x

5

Re: AHK: Imagesearch, работа с браузером

Но, с учётом того, что AutoHotkey + русский язык = дружба навеки...

Р1 := 1
р1 := 2
msgbox, Р1=%Р1% р1=%р1%

6

Re: AHK: Imagesearch, работа с браузером

Точно. Беру свои слова обратно.

7

Re: AHK: Imagesearch, работа с браузером

ypppu пишет:

Но, с учётом того, что AutoHotkey + русский язык = дружба навеки...

Нет, это не имеет отношения к данному случаю, ведь в коде из первого поста для переменных использованы только ASCII-символы, а они как раз регистронезависимы в AHK. Так что X = x.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8 (изменено: Jokero, 2012-11-30 16:28:59)

Re: AHK: Imagesearch, работа с браузером

Исправил, спасибо, но теперь возникла другая проблема - программа кликает немного выше нужной области.

MouseClick, left, %x%+6, %y%+6

- не работает. Подскажите, как это правильно оформить.

9

Re: AHK: Imagesearch, работа с браузером

Jokero пишет:

Подскажите, как это правильно оформить.

Знаки процента убрать. Эти параметры команды MouseClick могут быть выражениями.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10

Re: AHK: Imagesearch, работа с браузером

teadrinker пишет:
Jokero пишет:

Подскажите, как это правильно оформить.

Знаки процента убрать. Эти параметры команды MouseClick могут быть выражениями.

Спасибо. Скорее всего последний вопрос: в окне есть несколько одинаковых кнопок, другими словами одинаковых изображений. Как сделать так, чтобы скрипт кликал поочередно по каждой кнопке?

11 (изменено: teadrinker, 2012-11-30 20:18:24)

Re: AHK: Imagesearch, работа с браузером

Задать для каждой кнопки в параметрах Imagesearch более точные области поиска и искать каждую отдельно. Для уточнения области поиска второй кнопки можно использовать координаты, полученные при поиске первой.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

12

Re: AHK: Imagesearch, работа с браузером

Спасибо.