Что нового

Написание бота самостоятельно новичком с 0 знаниями AutoI. Реально ли это?

darow

Новичок
Сообщения
50
Репутация
1
Всем день добрый, может таких тем уже была куча, пытался найти то пока не нашел. Суть эксперимента:
1) Имеем человека с 0 знаниями AutoIt
2) Опыт в скриптовании небольшой имеется, до этого на программах типа Automate, VistaTask писал небольшие боты
3) Опыт программирования 0
4) Желание скриптовать самому в AutoIt есть и большое

Так первое что сделал это Быстрый старт как описано тут: http://autoit-script.ru/index.php?topic=3.0 ... В принципе ничего сложно, весь нужный софт имеем.
Пробежался по ветке для новичков, пока полезного для своего уровня ничего не нашел.
Решил сам свою ветку открыть и начинать поступательно шаг за шагом начинать тернистый пусть освоения AutoIt.

Итак имеем первую задачу:
Найти на странице браузера картинку и по ней кликнуть.

Эту задачу думаю стоит разбить на несколько маленьких:
1) Учимся перемещать мышь
 
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

Ура имеем первую победу!
Ну в принципе задача заняла 3-5 минут поиска .
Да кстати, забыл уточнить. У меня стоит Винда7 64 битная, но я все запускаю х86и едитор и рун-скрипт...
В итоге мы имеем:
Код:
MouseMove(366, 152)
  Sleep(1000)
  MouseClick('right', 366, 152, 2)


Это продвижение мыши к координатам 366, 152 со скоростью 2 мс ... я так понял, ну в итоге на самом деле так все и работает.


Добавлено:
Сообщение автоматически объединено:

Передвигать и кликать мышью мы научились.
Так кстати в этом примере я сделал ошибку
Код:
MouseMove(366, 152)
  Sleep(1000)
  MouseClick('right', 366, 152, 2)
тут 2 это не скорость а количество кликов, видимо если я в примере сделал правую клавишу, то нужно 1 а не 2 ставить, а то нет смысла...

Идем далее, теперь нам нужна задача поиск на странице картинки нужной.


Добавлено:
Сообщение автоматически объединено:

у кого какие идеи какой лучше применить метод?
условие задачи подробнее:
 

Вложения

  • 26262626.jpg
    26262626.jpg
    98.4 КБ · Просмотры: 47

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

Google хром не знаю но через IE можно:
Код:
#include 'ie.au3' ;1

Global $Url

$Url = _IECreate('yandex.ru/images/search?text=Cats&uinfo=sw-1024-sh-600-ww-1024-wh-520-pd-1-wp-5x3_1280x768',0,1,1,1) ;2
_IELoadWait($Url,'',1) ;Ждем прогрузки

_IEImgClick($Url,'//im0-tub-ru.yandex.net/i?id=3ae09f9f8ba542fda0e062aa2ec958e1-43-144&n=21','src',0,1) ;3
Sleep(3000)
_IEImgClick($Url,'//im1-tub-ru.yandex.net/i?id=48c244e17cb93a44ea20a5d1a3ab877f-72-144&n=21','src',0,1) ;4
Sleep(3000)
_IEImgClick($Url,'//im3-tub-ru.yandex.net/i?id=0a063490c4b6f4bca1677979f7d5b666-42-144&n=21','src',0,1) ;4
Exit

1. Подключаем библиотеку IE.au3
2. Открываем Internet Explore c адресом:
Это картинки кошек.
3. Щелкаем на картинку 1 картинку
Подробнее как я нашел src картинки, открыл браузер (ie или google не помню).
Правой кнопкой мыши (ПКМ) щелкнул по картинке и выбрал: "Просмотр кода элемента".
Нашел строчку: "src=****" и скопировал все что после "=" все...
4. Щелкаем на третью картинку.
5. Щелкаем на вторую картинку.
Небольшой опыт имею но сидел разбирался часа два... Для человека с 0 опытом сложновато.
ПС 'yandex.ru' поймать логотип так и не смог... :stars:
 
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

Спасибо за ответ! Я думал уже что вряд ли кто-то захочет помочь... и хорошо что ошибся...
Так теперь по вашему примеру:
1) я так понял вы применили метод кликанья по картинкам через их URL, т.е. "чистое кликанье" без подвода мыши итд и тп...
Это как по мне крутой метод... Тут вообщем вы все разжевали максимально... не понять что-то трудно...
Единственное несколько моментов:
- я запускаю у себя скрипт, то запускается ИЕ с ссылкой, но кликов не вижу... Может из-за того что долго грузится ИЕ...
- откуда именно вы коды картинок смотрели? открывая в отдельном окне или же в существующем? можете скрин сделать в каком именно месте нужно просмотреть src= ?

И всетаки бы хотелось через поиск картинки кликнуть...
ПС 'yandex.ru' поймать логотип так и не смог...
А как именно вы ловили? Может неправильно скрин картинки сделали?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

darow [?]
- откуда именно вы коды картинок смотрели? открывая в отдельном окне или же в существующем? можете скрин сделать в каком именно месте нужно просмотреть src= ?
Правая мышка на картинке и просмотр кода элемента или копировать URL картинки и потом уже куда-нибудь вставить и смотреть.


Идём дальше
Отлавливаем логотип Яндекса.
Код:
#include <IE.au3>; подключаем библиотеку
$oIE = _IECreate("http://images.yandex.ru/"); открываем IE с яндексом
$oImages = _IEImgGetCollection($oIE); получаем коллекцию всех изображений
If Not @error Then
	; циклом перебираем каждую картинку из коллекции
	For $oImg In $oImages
		If $oImg.className = "logo__image" Then
			; если класс картинки совпал с logo__image то
			_IEAction($oImg, "click"); кликаем по ней
			ExitLoop; выходим из цикла
		EndIf
	Next
EndIf
 
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

alex33 сказал(а):
darow [?]
- откуда именно вы коды картинок смотрели? открывая в отдельном окне или же в существующем? можете скрин сделать в каком именно месте нужно просмотреть src= ?
Правая мышка на картинке и просмотр кода элемента или копировать URL картинки и потом уже куда-нибудь вставить и смотреть.

http://clip2net.com/s/iKF3Wt
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

При нажатии на "просмотр кода элемента" снизу появляется окно с строчками всякими... Все что нужно сделать это нажать ПКМ на картинку, выбрать "просмотр кода элемента" и тянуть скрол в лево пока не появится строчка как на второй картинке.

________

Жмите ПКМ по маленькой картине кота слева
 

Вложения

  • Capture2.png
    Capture2.png
    4.2 КБ · Просмотры: 31
  • Capture.PNG
    Capture.PNG
    6.6 КБ · Просмотры: 28
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

Ура нашел! где этот код прячется...
а теперь по работе скрипта, не пойму он кликает на картинки или нет...
и ошибок не выдает, страницу открыл и дальше ничего не происходит почему-то
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

darow,
А вы на какую картинку нажать пытаетесь? Мой пример работает так:
Открывается браузер, загружается страничка, клик по картинке (Она становится большой)
Клик по следующей, и следующей. Все видно, все понятно. Если вы пытаетесь кликнуть по
титульной картинке яндекса то как вы к ней прицепились? я имею ввиду что src не известен...
 
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

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

Ну на примере яндекса, тут нужно только находить картинку и подводить курсор мышки и клик-другого варианта я че-то и не знаю...
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

UPD1
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

darow,
А вы пробовали свое значение подставить?
alex33,
ооо, видел функцию "_IEImgGetCollection" в библиотеке но как ей пользоваться не разобрался) спасибо за пример)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI

darow [?]
Предупреждение За нарушение общих правил (пункт В.8):
Так как эта конференция называется "Русское сообщество AutoIt", язык общения на ней - Русский. Названия фирм или программных продуктов, аббревиатуры и т.д. должны быть написаны так, как они пишутся в оригинале, например не следует писать УСБ вместо USB. На форуме крайне не рекомендуется намеренно искажать русский язык и использовать "сетевой жаргон" на подобии "Аффтар выпей йадау!".


С уважением, ваш Глобальный модератор.






Добавлено:
Сообщение автоматически объединено:

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Попробую сделать эксперимент по написанию бота самостоятельно с 0 знаниями AutoI" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.
 
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Я перед всеми извиняюсь!
Надеюсь таких преступлений больше не совершу...
Модератору отписался, ошибки в сообщении исправил, тему переместили точнее в раздел, название темы поменял...
Так мы остановились на поиске картинки на веб странице...


Добавлено:
Сообщение автоматически объединено:

Так давайте конкретный пример рассмотрим:
1)имеем такую страницу: http://betcityru.com/live/line.php
2)на ней есть слова с фамилиями
3)нужную фамилию бот через браузерный поиск подсвечивает
4)потом бот начинает искать картинку-квадратик который образуется после подсвечивания
5) когда нашел, то отступил от угла картинки-квадратика и кликнул по выделенной фамилии

вообщем этот пример можно решить и поиском ботом сразу фамилии по тексту, но мне кажется этот способ должен быть проще, но может он и не идеален по смыслу, но должен работать...


Добавлено:
Сообщение автоматически объединено:

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

http://autoit-script.ru/index.php?topic=11680.msg106949#msg106949
 

Вложения

  • 26262626.jpg
    26262626.jpg
    67.1 КБ · Просмотры: 14
  • 45454545.jpg
    45454545.jpg
    10.1 КБ · Просмотры: 306

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Не понимаю, зачем вам такие сложности как выделение фамилии, поиск картинки рядом с выделением, отступление от картинки в право и клик по ссылке если пример:
http://autoit-script.ru/index.php?topic=11680.msg106949#msg106949
Идеально подходит, достаточно прост и понятен для использования? Зачем усложнять себе жизнь?
 
Автор
D

darow

Новичок
Сообщения
50
Репутация
1
Dima1337 сказал(а):
Не понимаю, зачем вам такие сложности как выделение фамилии, поиск картинки рядом с выделением, отступление от картинки в право и клик по ссылке если пример:
http://autoit-script.ru/index.php?topic=11680.msg106949#msg106949
Идеально подходит, достаточно прост и понятен для использования? Зачем усложнять себе жизнь?

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