Pull to refresh

Comments 52

Дело, конечно, хорошее для тех случаев, когда софт не предоставляет своего апи и нельзя автоматизировать иным способом (postmessage, D-Bus...).
Согласен. Взаимодействие с программой через апи (если он имеется) гораздо эффективнее. С другой стороны среднестатистический юзер наверняка не станет читать документацию и разбираться в апи как бы сильно ему не хотелось что-то автоматизировать. Тут же написание сценариев упрощено донельзя. Даже знание питона нужно в очень малой степени.
Среднестатистический юзер никогда не станет использовать эту программу. Потому что среднестатестический юзер никогда не думает алгоритмами и даже не парится по поводу автоматизации работы с ПО.
Или в случаях когда API очень нужно, но его не дают :) Например Яндекс.Директ дает API только «хорошим мальчикам», а так каждый сможет себе построить необходимый автомат для проведения компаний. Это яркий пример когда софт уравнивает в правах участников рынка :) Этакий «демократизатор» :)
На мой взгляд идея отличная, особенно как замена различными программам для создания макросов. В своё время искал что-то подобное, спасибо за статью.
Тема поста больше относится к юзабилити, чем к Питону. Все-таки для пользователей делалось, а не для программистов. Поддержка Питона в Sikuli — это лишь дополнительная возможность.
Трудно не согласиться. Пост переехал.
Я всю жизнь хотел такой язык программирования!
По моему — совершенно бесполезная вещь.Я уважаю себя, и не стал бы писать с
Их бы энергию в нужное русло, а не программы картинками писать.
Это не программы, а универсальные скрипты для автоматизации рутинной работы. Для техподдержки — полезная штука. Не нужно объяснять юзеру по телефону, что и как кликать, можно просто написать такой скрипт и разослать всем, кому надо.
И ничего работать не будет, потому что «пиксели, блин, разные»…
Я немножко имею отношение к автоматизации тестирования. Пробовали, обожглись.
но это же идеальный язык для непрограммистов, почему же бесполезная
Непрограммистам не нужен язык программирования. Даже идеальный -)
В последнем релизе от 27 января снижены требования до Java 5 и существенно ускорено распознание элементов интерфейса.

Из недостатков — в Mac OS X нет нормального способа вводить русский текст.
Все равно, по моему гиблое дело :)
Вот если бы они написали распознование лиц по фотографиям, и точное биометрическое строение, и т.д., я был бы им благодарен.А так — ну хз что можно написать с помощью картинок, все это можно сделать на Сpp с помощью винапи куда быстрее.
> Еще одной возможностью (и вероятно более серьезной) Sikuli является написание скриптов для тестирования интерфейсов.

Вы б хоть статью прочитали.
Для тестирования GUI все же есть более серьезные инструменты. Поэтому этот аргумент вряд ли убедит m0Hze в полезности Sikuli.
Сомневаюсь, что его вообще легко убедить.
Хотя выше аргумент troorl1985 могуч.
Не раз убеждаюсь в правдивости одной отличной фразы, которую я долгое время не понимал:
«Хочешь сделать хорошо — сделай это своими руками».А всякие сомнительные коды, основанные на картинках, это на мой взгляд, по крайней мере не серьезно.
Я не знаю винапи, почти не знаю си, и, честно говоря, не горю желанием их знать лучше. Мне это не нужно. А вот желание автоматизировать работу с каким-нибудь гуем возникает время от времени. Скриптик, в котором чего куда жать, указывается картинками, выдранными из этого самого интерфейса — это отличное решение. Вместо того, чтобы жать самому, заставляешь компьютер делать всё то же самое, что делал бы сам, только руки свободны при этом.
>Я не знаю винапи
Вам крупно повезло в этой жизни.
Ну да, признаю, с такой точки зрения скрипты выглядят великолепно =) Но как для программиста ценность — 0.Я когда то сталкивался с программой, которя мышку переводила на нужную кнопку, вводила что нужно, и тыкала на кнопки, то есть, тоже самое только в .exe и с интуитивно понятным гуи.Ну это я так, к слову.
Случаем, не AutoIt? Там самое веселье начиналось, когда ГУЙ не успевал чего-нить сделать или задумался в неположенном месте или диалог неположенный вылез.
все это можно сделать на Сpp с помощью винапи куда быстрее
Но как для программиста ценность — 0.

Позволю не согласиться, к примеру как-то попалась программка требующая автоматизации и суть проблемы заключалась в том, что нужно было отслеживать ее меняющиеся состояние в не стандартном контроле (картинка которая формировалась в недрах программы). Собственно никаким WinAPI и Cpp тут не обошлось, пришлось открывать дебаг, смотреть процедуру которая вызывается при смене событий и патчить на предмет отсылки нужных уведомлений моему скрипту. Далеко не все умеют быстро отлаживать и править чужие бинарники, а здесь просто понаделал скриншотов и забыл, иначе пришлось бы писать собственно тот же самый фреймворк.
>все это можно сделать на Сpp с помощью винапи куда быстрее.
Под *никсы тоже с помощью винапи делать будете? ))
>В последнем релизе от 27 января снижены требования до Java 5
На офсайте написано: «Released on 2010/01/28. For Windows XP/Vista/7 (Java 6 is required)». Но возможна 6ая нужна только для окон.
Извращение какое то оО.
Для решения подобных задач думаю логичнее использовать, например, AutoIt.
AutoIt работает именно с Windows. И скрипты на нем выглядят весьма устрашающе. Инструмент явно для программистов. Думаю примерно то же с аналогами под другие оси.

В этом проекте, мне кажется, важна не нынешняя реализация и применение, а общая весьма оригинальная идея. К тому же ACM — слишком солидная организация, чтобы награждать совершенно бесполезные проекты.
в автоите можно ровно так же использовать картинки как и в этой проге. Просто сделано не так казуально…
А что будет если поменять тему интерфейса в оболочке?
Сложно сказать. Как показала практика это все не слишком хорошо функционирует и без смены темы. Но наверняка ничего хорошего не будет. В придачу с независимостью от приложений и ОСи мы получаем жесткую зависимость от внешнего вида.
А идея очень даже не плохая, например при эмуляции действий пользователя в играх типа ММО.
Интересно, поддерживается ли там альфа канал изображений.
Для ММО есть Ностромо и G-15 :)
Кроме того боты которые считывают информацию с клиента, а не с сервера вроде тоже есть, только не помню для Линейки или для Ультимы.
я пожалуй скопирую понравившийся комментарий из поста про эту штуку на dirty.ru:
будучи программистом, я начинаю понимать чувства, которые испытывают оперные певцы, просматривая канал MTV.
Иными словами, мне действительно обидно, что данную чушь называют программированием. Ничего общего с программированием данное видео не имеет.
UFO just landed and posted this here
UFO just landed and posted this here
Спасибо!!! Вы мне напомнили.)
Именно для покер бота (патипокер) я пытался состряпать решение работающее «на скринах» =).
Вот теперь это мне точно удастся!))
А зачем решение на скринах? как-то писал фреймворк для знакомого тоже под какой-то покер, самое сложное там было распознать текст (чего здесь нет) и определение масти карты — проверка одного пикселя на цвет. Никаких картинок там не нужно.
Мне кажется так правильнее всего — клиент трогать нельзя по условиям покеррума, т.к. бот «для себя», то картинки не надо даже распознавать (другое разрешение например), только сравнивать с эталоном. И пользуясь этим, можно обойтись без распознавания текста — суммы в ставок, размер банка — всего 11 картинок, на цифры и запятую-).
Концепция интересная.

Если улучшить алгоритмы распознавания образов (или прикрутить уже довольно хорошие) то много чего можно сделать.

А если прикрутить искусственный интеллект…
Мысль правильная — а реализация имхо нет. Сравнивание картинок это сдорово но имеет целый ряд ограничений, самые наверное неприятные это работа с текстовыми полями — ищет то он пустое поле, а в нём на стадии работы уже может быть какой-то текст, совпадения не будет. Мне кажется было бы разумнее использовать какие-то более стабильные идентификаторы — в виндовсе автоматизаторы активно используют координаты внутри окон и виндовые идентификаторы элементов и работает это на порядок лучше. Если это добавить к методу картинок то получится очень даже славный автоматизационный фреймворк, а так имхо проджукт пока годен только для забавы или применения в каких-то совсем малых домашних задачах
блям-блям программирование
Подскажите, а можно ли получать значения полей, может умеет распознавать?

Иногда помимо автоматизация действий вроде ввода и кликов требуется еще
какие-то результаты получать, которые также выводятся на экран.
Домохозяйки будут теперь одним нажатием ногтём по клавиатуре выкладывать фотки вконтакт пачками по 200 штук из указанной папки и автоматом все будут на них отмечаться *ROFL*

А если серьезно, то это очень классная штука. Как было уже сказано выше это очень удобное ПО для создания всякого рода ботов. А если Сикулю еще научить капчу распознавать, то ууууууууу :)
Великолепная идея! И, на самом деле, очень просто в исполнении ( с программной точки зрения).
Все гениальное просто.
Прога конечно очень многообещающая, но я ее как раз посмотрел пару дней назад.
Кроме общей заглюченности и неудобства среды, заметил, что вводить русские буквы в поле ввода она не умеет. Так что в повседневной работе мне ее никак не применить.
PS. ее бы скрестить с autohotkey…
У меня получилось заставить кораблик собирать ресурсы в зоне видимости, вот только еще прикрутитить ползанье по миникарте, и я стану богом)))
Only those users with full accounts are able to leave comments. Log in, please.