temphard |
Отправлено: 09 Декабря, 2014 - 11:16:16
|
Прохожий
Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2014
Репутация: 0
|
Здравствуйте.
Помогите "доделать" код.
Действие происходит в браузере.
Необходимо, чтобы нажатие мыши происходило по определенной картинке а не координатам.
Если картинка отсутствует, программа должна находиться в режиме ожидания.
Если ожидание превышает 60 секунд, работа программы должна останавливаться.
Название файлов *.bmp укажите условно. В последствии я заменю их на реальные.
Полагаю, что к данному коду нужно в определенных местах дописать несколько команд, но для меня это пока сложно.
Заранее благодарен за помощь.
P.S. Возможно вознаграждение.
Пример кода:
CODE:for (int n=0; n<10; n++)
{
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (50);
key (END);
pause (50);
keydown (SHIFT);
pause (50);
key (HOME);
pause (50);
keyup (SHIFT);
pause (50);
keydown (CONTROL);
pause (50);
key ('C');
pause (50);
keyup (CONTROL);
pause (100);
activate(window ("01 - Mozilla Firefox", "MozillaWindowClass", -1));
mouse (LEFT, 381, 414);
pause (100);
keydown (CONTROL);
pause (50);
key ('V');
pause (50);
keyup (CONTROL);
pause (100);
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (100);
key (UP);
pause (50);
key (END);
pause (50);
keydown (SHIFT);
pause (50);
key (UP);
pause (50);
key (HOME);
pause (50);
keyup (SHIFT);
pause (50);
keydown (CONTROL);
pause (50);
key ('C');
pause (50);
keyup (CONTROL);
pause (100);
activate(window ("01 - Mozilla Firefox", "MozillaWindowClass", -1));
pause (100);
mouse (LEFT, 363, 660);
pause (2000);
keydown (CONTROL);
pause (50);
key ('V');
pause (50);
keyup (CONTROL);
pause (100);
mouse (LEFT, 703, 832);
pause (100);
mouse (LEFT, 1719, 284);
pause (5000);
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (100);
key (UP);
pause (50);
key (UP);
pause (100);
key (UP);
pause (100);
} |
|
|
Kibor |
Отправлено: 09 Декабря, 2014 - 12:25:23
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Цитата: int Image_0[26][26];loadimage (#Image_0[0][0], "C:\Image_0.bmp");
int PosX, PosY;
int t=gettime () ;
s: if (findimage(1, #Image_0[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)
{
mouse(LEFT, PosX, PosY);
pause(1000);
}
if (gettime ()-t < 60000){sleep(50); goto s;} |
|
|
temphard |
Отправлено: 08 Февраля, 2016 - 14:18:58
|
Прохожий
Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2014
Репутация: 0
|
Kibor пишет: Цитата: int Image_0[26][26];loadimage (#Image_0[0][0], "C:\Image_0.bmp" ;
int PosX, PosY;
int t=gettime () ;
s: if (findimage(1, #Image_0[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)
{
mouse(LEFT, PosX, PosY);
pause(1000);
}
if (gettime ()-t < 60000){sleep(50); goto s;}
Спасибо за помощь.
Вот как мне удалось реализовать задачу:
CODE:for (int n=0; n<10; n++)
{
pause (500);
activate(window ("01.txt - AkelPad", "AkelPad4", -1));
pause (100);
keydown(SHIFT);
pause (100);
key(END);
pause (100);
keyup(SHIFT);
pause (100);
keydown(CONTROL);
pause (100);
key('x');
pause (100);
keyup(CONTROL);
pause (100);
key(DELETE);
pause (100);
mouse(LEFT, 475, 684);
pause (100);
mouse(LEFT, 475, 684);
pause (100);
keydown(CONTROL);
pause (100);
key('a');
key('v');
pause (100);
keyup(CONTROL);
pause (6000);
int Image_0[75][24];loadimage (#Image_0[0][0], "C:\Image_0.bmp");
int PosX_0[512];int PosY_0[512];findimage(-1, #Image_0[0][0], 16777215, #PosX_0[0], #PosY_0[0], 1, 1, 1029, 1003, -1);
{
mouse(LEFT, PosX_0[0]+40, PosY_0[0]+10);
}
pause (5000);
}
Скрипт работает нормально, но никак не могу реализовать сканирование или поиск заданной картинки, и в случае ее отсутствия, чтобы скрипт приостановил свою работу. Конечно было бы идеально, чтобы в случает отсутствия картинки скрипт приостановился бы в самом начале, не производя действия с файлом: 01.txt.
Примерно понимаю, что каким-то образом необходимо использовать "if", "goto" "sleep" и что-то подобное, но не получается...
Подскажите пожалуйста. |
|
|
|