Как автоматизировать свою работу в интернете

Do it well button «Компьютер должен работать, человек — думать». Всякий раз, когда мне приходится делать какую-то монотонную и однообразную работу, этот слоган IBM не даёт мне покоя.

Дело в том, что я сейчас “присматриваю” за 3мя коммерческими сайтами: слежу за их посещаемостью, отслеживаю источники трафика, расходы на рекламные кампании и т.п., и каждый день мне приходится выполнять последовательность из одних и тех же действий. Зайти на сайт — ввести логин и пароль — кликнуть по верхней ссылке — открыть ещё одну вкладку — зайти на сайт статистики — ввести логин и пароль… Последовательность действий, напомню ещё раз, не меняется за все время работы, каждый день это одни и те же сайты, одни и те же логины и ссылки.

Разумеется, что в один прекрасный момент в противостоянии лени и терпеливого упрямства лень одержала верх, и я задумался, а можно ли как-то автоматизировать эту деятельность? Вот если был бы такой “видеомагнитофон”, который один раз записал бы все мои действия, и потом по нажатию кнопки по шагам проигрывал бы всю последовательность…

После вдумчивого ковыряния в результатах поиска в Google выяснилось, что такой видеомагнитофон существует и по-научному называется web-recorder. Более того, удалось найти несколько таких утилит, но почти все из них страдали одними и теми же недостатками. Во первых, они были небесплатными (а это не тот случай, когда я был готов платить за такую услугу), и во вторых, они давно перестали поддерживаться и обновляться командой разработчиков. Однако, кое-что полезное всё же отыскалось.

DejaClickУтилита, с которой я сегодня хочу вас познакомить, называется DejaClick. Собственно, утилитой её назвать сложно, ибо это не отдельное приложение, а плагин для Firefox. Название, по аналогии с deja-vu, можно перевести как “уже кликал”, и оно полностью соответствует возможностям этого приложения. Но обо всём по порядку.

После установки плагина в браузере появляется тулбар, с помощью которого можно выполнять все команды записи и воспроизведения. Тулбар занимает довольно много места и на небольших экранах его лучше отключить, но на первое время он нужен для записи ваших команд в сети. Итак, вот как выглядит браузинг с использованием DejaClick.

  1. DejaClick Power On buttonВо-первых, DejaClick нужно “включить”, нажав на выключатель “Power On/Off” (первая кнопка на панели инструментов).
  2. Затем нужно активировать режим записи, нажав на соответствующую кнопку. DejaClick Record buttonИнтерфейс приложения довольно прост и удобен, внешний вид кнопок повторяет аналогичные кнопки “из жизни” и полностью соответствует ожиданиям; например, кнопка записи выглядит как кнопка Record на звукозаписывающей аппаратуре (красный круг), в то время как кнопка проигрывания сохраненной последовательности действий повторяет своими формами кнопку Play — зеленый треугольник-стрелка.
  3. После этого нужно по шагам выполнить все те действия в сети, которые вы хотели бы записать в одну последовательность команд. Каждое действие будет записано как отдельная команда. Открытие новой вкладки, переход по определенному адресу, ввод текста в формы ввода на странице, выполнение POST- или GET-запросов, клик по ссылке — словом, все команды, DejaClick Stop buttonкоторые вы отдадите браузеру, будут зафиксированы в виде стройного списка ваших действий. После того, как все шаги выполнены, нажмите кнопку остановки.
  4. DejaClick Save buttonПоследовательность команд запомнена, и теперь её нужно сохранить для дальнейшего воспроизведения. Кликните на соответствующую иконку и сохраните её в виде файла.

Это всё, больше ничего от вас не потребуется. Теперь все действия с сайтами плагин может воспроизвести самостоятельно в фоновом режиме, по нажатию кнопки. Для этого нужно DejaClick Play buttonснова включить DejaClick, открыть каталог сохраненных скриптов, выбрать нужный скрипт и нажать на Play. Приложение в фоновом режиме полностью повторит записанную последовательность действий, и по завершении проигрывания напомнит о себе, показав сообщение со статусом выполненной работы.

Просто? Еще бы! Однако, на этом особенности программы не заканчиваются.

DejaClick sidebarОткрыв боковую панель (ещё одна кнопка на панели инструментов) можно просмотреть всю записанную последовательность команд в виде линейного списка действий. Команды в пределах одной страницы сайта (например, заполнение формы авторизации и её отправка) для удобства объединены в группы. При проигрывании скрипта DejaClick будет подсвечивает текущую команду, так что всегда можно определить, на каком этапе сейчас идет процесс. Кроме того, каждую команду можно отредактировать. Например, у вас есть один длинный скрипт команд, работающих с целой плеядой сайтов, и вы хотите изменить адрес для одного из них. Чтобы не перезаписывать всю последовательность действий, в списке команд скрипта выберите нужную, в окошке Properties внизу выберите соответствующее свойство (в данном случае это будет Event Input) и измените URL. Точно так же можно отредактировать и любой другой параметр, который вы указываете при работе с сайтом: логин, пароль, email. Тут же можно указать максимально допустимое время ожидания ответа от сайта, реакцию на ошибку выполнения команды, и даже задать выполнение команд по условию, например, наличия на странице какого-либо ключевого слова; но честно признаюсь, так глубоко разбираться с DejaClick мне не приходилось.

Другой приятный бонус — закладки на сохраненные скрипты команд. Как я уже сказал, панель инструментов DejaClick необходима только для записи команд; проигрывать сохраненные последовательности действий с сайтами можно не только через тулбар. Для этого после завершения записи команд их нужно сохранить DejaClick Bookmark buttonне в виде скрипта, а как “супер-закладку”, кликнув на соответствующую кнопку на тулбаре. От обычных закладок супер-закладка отличается тем, что открывает не сайт, а сохраненный скрипт; в остальном с ней можно обращаться так же, как с обычными закладками Firefox: открыть её через меню Favorites, или же вовсе вывести на панель закладок браузера. Вся последовательность команд в итоге запускается одним-единственным кликом по закладке.

DejaClick Favorites toolbar

Не обошлось и без ложки дёгтя. В моей практике DejaClick в некоторых случаях прерывала выполнение скриптов из-за того, что на сайте незначительно изменилось содержимое страниц. Как следствие, команда, работающая с формой на этой странице, “потеряла” элементы формы и не смогла их корректно заполнить. Видимо, такие команды следует переделать с поиском тех самых ключевых слов в тексте страницы.

Также при записи последовательности команд нужно быть внимательным с выставлением флажков “Запомнить меня” при авторизации на сайтах. Если вы при первой авторизации выставите такой флаг, то при повторном заходе на сайт авторизация уже не потребуется, так что вы поставите DejaClick в неловкое положение — в записанной последовательности команд ей нужно ввести логин и пароль, а как это сделать, когда нет полей для ввода? Придется либо удалять куки перед запуском скрипта команд, либо заново записывать последовательность действий.

Пожалуй, действительно серьёзным недостатком утилиты является её слабая защита от взлома (точнее, отсутствие защиты как таковой). Все скрипты команд программа хранит в виде XML-файлов, содержащих полную информацию о проигрываемых командах (включая содержимое текстовых полей форм, заполняемых в ходе работы). То есть логины и пароли к сайтам хранятся в этих файлах в открытом доступе, и единственная гарантия, что эти данные не попадут в чужие руки — это безопасность того места, где вы храните свои файлы. По умолчанию, DejaClick сохраняет скрипты в профайле пользователя, так что пока вашим профайлом пользуетесь только вы, особых поводов для беспокойства я не вижу.

Но даже со всеми недостатками, это средство из разряда must have. Рекомендую.

Комментарии (8) ↓

#1 webamator (26/05/2008 в 18:48)

Спасибо за описание, надо попробовать
с 3-им ФФ плагин дружит?

#2 Илья Конюхов (26/05/2008 в 21:35)

Разработчики пишут, что DéjàClick is compatible with Firefox versions 2.0 – 3.0.
Видимо, должно работать.

#3 Aproach (27/05/2008 в 21:32)

Полезная чтука! Правда у меня myie.. (( Давно хочу перейти на файрфокс.. Но никак не решусь))

#4 Джесс (07/06/2008 в 12:12)

Класс! Надо перейти. А то столько лишних действий, особенно. когда пароль надо вводить…

#5 Дмитрий (14/06/2008 в 17:10)

Класс! Надо перейти. А то столько лишних действий, особенно. когда пароль надо вводить…

пароль в опрере можно вводить автоматом, функция- жезл=)

#6 Андрей Монетка (25/06/2008 в 06:14)

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

#7 Lertok (22/07/2008 в 06:34)

Эти действия можно выполнять только с каким-то конкретным сайтом, который записывается в плагин или их можно сделать общими для какого-то списка сайтов?

#8 Илья Конюхов (22/07/2008 в 13:14)

Разумеется, плагин записывает действия только с конкретными сайтами.
А зачем вам универсальный сценарий? Страницы авторизации-то у каждого сайта могут отличаться.