Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (9): « 1 2 3 [4] 5 6 7 8 9 »   

> Описание: робот для автоматизации на интернет-странице с флешем
darow
Отправлено: 09 Января, 2014 - 18:44:02
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 45
Дата рег-ции: Янв. 2014  
Откуда: Украина
Репутация: 0




да дело в том что я пускал код-образец на авито он у меня че-то не заработал... может браузер не тот... поэтому и попытался как вы и сказали подогнать считая что в принципе алгоритм перебора можно и не менять...
 
 Top
Kibor
Отправлено: 09 Января, 2014 - 18:51:13
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




А кнопку Показать номер нажимали?
Хорошо. Я возьму доступ..

Проверил сам.. все определяет на avito.ru
(Добавление)
Как и говорил. Ошибка обращения к памяти, поскольку массив выделен на 10 переменных
int a[10];
а обращение было
int b;
a[b]=5;

то есть в b было неизвестно что.
 
 Top
darow
Отправлено: 11 Января, 2014 - 18:35:55
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 45
Дата рег-ции: Янв. 2014  
Откуда: Украина
Репутация: 0




Всем еще раз здравствуйте, вот продолжаем мы воять скрипт робота, нелегкое занятие это всетаки... встала задача скрипт находит цифры на странице отлично, но как выяснилось цифры немного смещаются в пределах 10 писелей по горизонтали когда меняют свое значение, и тогда потеряв точку откуда надо сканировать цифру кибор посылает...
CODE:

int color, xe, ye;//разрешение экрана
getdisplay(color, xe, ye);//Узнать разрешение экрана

int stvol_X, stvol_Y;// координаты стартовой точки в волейб
int z=10;

//Загрузка рисунков
int im_stvol[121][11];
loadimage (#im_stvol[0][0], "C:\citi\Image_ishody po partiyam.bmp");//рис стартовой точки в волейболе


if (findimage(1, #im_stvol[0][0], 0, #stvol_X, #stvol_Y, 0, 0, xe, ye, z, z, z, z, z, z, 100, 1, -1)==1)//находим стартовую точку

//поиск первого пикселя не белого и с него начать перебор
findcolor(1, #X[1],#Y[1], stvol_X+76, stvol_Y+36, stvol_X+86, stvol_Y+36, 13226495, 1);

X[0]=stvol_X+76; Y[0]=stvol_Y+36;
X[1]=X[0]+7; Y[1]=Y[0]+13;

{




mousemove(X[0], Y[0]);
sleep(1000);
mousemove(X[1], Y[1]);
sleep(1000);
}

(Добавление)
вот решил отдельно заняться поиском пикселя отличного от белого в частности взял цвет 13226495... координаты стартовой точки есть-это угол картинки левый верхний от него отступ +76 по х +36 по у, и далее зона шириной в 10 пикселей в которой нужно искать цвет 13226495, как только найдет то подвести туда мышь... но что-то не хочет меня кибор понимать.... кто что подскажет?
 
 Top
Andrew
Отправлено: 11 Января, 2014 - 19:09:33
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 118
Дата рег-ции: Июнь 2013  
Откуда: Россия
Репутация: 9




Здравствуйте darow , может я чего не понимаю, объясните
 darow пишет:
X[0]=stvol_X+76; Y[0]=stvol_Y+36;
X[1]=X[0]+7; Y[1]=Y[0]+13;

Так можно? Как я понял, Вы взяли не обявленную переменную и придали ей значение, да простит меня Кибор, так можно?
Может у функции поиска цвета будет нечто такое?
CODE:
if (findcolor(1, #X[1],#Y[1], stvol_X+76, stvol_Y+36, stvol_X+86, stvol_Y+36, 13226495, 1)==1);
{
X[0]=stvol_X+76; Y[0]=stvol_Y+36;
X[1]=X[0]+7; Y[1]=Y[0]+13;
mousemove(X[0], Y[0]);
sleep(1000);
mousemove(X[1], Y[1]);
sleep(1000);
}
else {pause(500); goto a;}

(Добавление)
перед if (findcolor забыл a:
 
 Top
darow
Отправлено: 11 Января, 2014 - 20:33:50
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 45
Дата рег-ции: Янв. 2014  
Откуда: Украина
Репутация: 0




че-то не выходит и с вашим вариантом:
(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
по поводу необъявленной переменной... честно не заметил, убрал ее и все равно не идет...
(Добавление)
может хоть кто-то подскажет, в чем же проблема, я ход мыслей программы понимаю, но вот с синтаксисом видимо еще большие проблемы....
(Добавление)
Давайте попробуем сначала:
1) подводим курсор к месту начала поиска пикселей
CODE:
int Image_0[121][11];loadimage (#Image_0[0][0], "C:\citi\Image_ishody po partiyam.bmp");
int PosX_0, PosY_0;
if (findimage(1, #Image_0[0][0], 0, #PosX_0, #PosY_0, 0, 0, 1366, 706, -1)==1)
{
mouse(LEFT, PosX_0+75, PosY_0+40);
}
else messagebox ("ne nashel");

2) как мне искать в пределах следующих 10 пикселей по горизонтали искать любого цвета пиксель но не цвета 16777215 ?

CODE:
if findcolor(1, #PosX_0[1],#PosY_0[1], PosX_0+75, PosY_0+40, PosX_0+85, PosY_0+40, 13226495, 1);


данная строка че-то не помогает
 
 Top
darow
Отправлено: 11 Января, 2014 - 23:19:45
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 45
Дата рег-ции: Янв. 2014  
Откуда: Украина
Репутация: 0




пробую уже просто вручную научиться искать координаты нужного цвета пикселя:
CODE:
int color, xe, ye;
getdisplay(color, xe, ye);
int PosX_0, PosY_0;
if findcolor(1, #PosX_0,#PosY_0, 300, 404, 315, 404, 13226495, 1);

messagebox ("PosX_0, PosY_0");


и опять не выводит, че ж ему надо?

(Отредактировано автором: 11 Января, 2014 - 23:20:22)

 
 Top
Kibor
Отправлено: 12 Января, 2014 - 00:23:49
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Цитата:
if (findimage(1, #im_stvol[0][0], 0, #stvol_X, #stvol_Y, 0, 0, xe, ye, z, z, z, z, z, z, 100, 1, -1)==1)//находим стартовую точку
{
int xn=stvol_X+55, yn=stvol_Y+36;
int xn1=xn+100, yn1=yn+15;
int min=999999;
s: if (xn<x1)
{
yn=stvol_Y+36;
s1: if (yn<y1)
{
if (getcolor(xn, yn)!=16777215)
{
if (xn<min){min=xn; stvol_X=xn-2;}
}
yn++;
goto s1;
}
xn++;
goto s;
}


X[0]=stvol_X; Y[0]=stvol_Y;
X[1]=X[0]+7; Y[1]=Y[0]+13;


Примерно такой код найдет в области что на рисунке самый левый не белый пиксель.
 
 Top
darow
Отправлено: 12 Января, 2014 - 02:44:10
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 45
Дата рег-ции: Янв. 2014  
Откуда: Украина
Репутация: 0




ок, спасибо, вставил...
вот что выкинул: (для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Kibor
Отправлено: 12 Января, 2014 - 02:52:55
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Вот так. Ну принцип понятен вообще?
Сканируется прямоугольник что на рисунке. Если найден Не белый пиксель в if (getcolor(xn, yn)!=16777215)
в if (xn<min){xn=min; stvol_X=xn-2;} проверка или он самый левый. Если да, то он записывается в stvol_X=xn-2;
Начало поиска выходит самый левый -2 пик.
 Kibor пишет:

int x1=100;
int y1=15;
int xn=stvol_X+55, yn=stvol_Y+36;
int xn1=xn+x1, yn1=yn+y1;
int min=999999;
s: if (xn<xn1)
{
yn=stvol_Y+32;
s1: if (yn<yn1)
{
if (getcolor(xn, yn)!=16777215)
{
if (xn<min){min=xn; stvol_X=xn-2;}
}
yn++;
goto s1;
}
xn++;
goto s;
}
 
 Top
darow
Отправлено: 12 Января, 2014 - 03:14:14
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 45
Дата рег-ции: Янв. 2014  
Откуда: Украина
Репутация: 0




ну вот сменил, че ему не хватает? (для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Страниц (9): « 1 2 3 [4] 5 6 7 8 9 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by