Wykonywanie powtarzalnych czynności jest uciążliwe i frustrujące a z biegiem czasu każdy pracownik biurowy czy też specjalista stwierdzi że traci czas i energie na coś, co może wykonać dowolna aplikacja czy dobry skrypt powszechnie nazywany jako macro.
W artykule znajdziesz informacje, jak “ułatwić” sobie pracę biurową, z jakich narzędzi warto korzystać (płatnych i darmowych) oraz to w jaki sposób programy, których używasz na co dzień, możesz wykorzystać w bardziej profesjonalnych rozwiązaniach.
Uwaga: w zestawieniu znajdziesz aplikacje i komendy bash, programy open source i komercyjne oraz skrypty w języku VBA. Wymienione narzędzia poniżej, które znam opisałem dokładniej z ich plusami, minusami i wykorzystaniem, podam również przykłady konkurencyjnych narzędzi, o których wiem ale z nich nie korzystam. Jeżeli znasz jakieś inne narzędzie, proszę o komentarz – z miłą chęcią przetestuje coś nowego – co może ułatwić mi pracę!
Efektywność i wydajność pracy jest jedną z cech dobrego pracownika czy specjalisty w każdej branży – jeżeli robisz coś szybciej, lepiej i wydajniej to jesteś w stanie wykonać więcej, osiągnąć lepszy wynik a tym samym stajesz się wartościowszy dla swojego pracodawcy czy klienta! Dobrze! Kończę już temat motywacji zawodowej – pora na opisy programów!
Automatyzacja pracy w internecie
Automatyzacja pracy w przeglądarce internetowej polega między innymi na takich czynnościach jak: automatycznie wypełnianie formularzy, pobieranie i wprowadzanie danych z plików csv, xlsx oraz innych czynności jak chociażby wygrywanie konkursów internetowych lub pobieranie dużej ilości danych ze stron internetowych zwanych „webscarping”. Programiści używają takich aplikacji do automatyzacji testów aplikacji webowych.
Kantu Browser Automation
Kantu umożliwia bardzo łatwą konfiguracje powtarzalnych czynności wykonywanych w przeglądarce internetowej (Firefox, Chrome). Posiada własny OCR, rozpoznawanie obrazów i tekstów oraz automatykę bazująca na Selenium. Umożliwia wczytania danych z pliku csv oraz ich zapisywania w pętli do nowych wierszy arkusza danych.
Funkcja Visual Web Automation pozwala na wykonywanie działań macro na elementach typu Google Maps. Kantu potrafi czytać i rozpoznawać obrazy oraz tekst wewnątrz elementów, obrazów. Skrypty przechowywane są w formie plików JSON – oznacza to łatwość ich kopiowania, i dzielenia się z innymi współpracownikami.
Nie jest to tylko dodatek do przeglądarki, istnieje również wersja w formie aplikacji na systemy Windows, Mac i Linux. Niestety w przypadku wielu elementów wymagana jest instalacja dodatkowego, darmowego pluginu XModules, który dodaję możliwość poruszania kursorem myszy na twoim pulpicie.
Budowę skryptu najlepiej rozpocząć od wczytania przygotowanego przez autora gotowca a następnie odpowiednio dobierać komendy i elementy – po wybraniu funkcji record, program automatycznie zapisuje nasze działania. Następnie w interfejsie możemy dokonać korekt poprzez wybór odpowiedniego polecenia – select / find dzięki którym wybieramy i podświetlamy odpowiedni element na stronie internetowej, w którym polecenie skryptu ma wykonać działanie. Więcej na filmach poniżej.
- aplikacja open source z możliwością rozszerzenia do wersji płatnej,
- wersja w formie plugin do przeglądarki,
- wczytywanie i zapisywanie do pliku arkusza CSV,
- eksport i import skryptów za pomocą formatu JSON,
- automatyzacja nie tylko na podstawie XPath i selektorów CSS a również na podstawie zrzutów elementu ekranu,
- stworzony w oparciu o Selenium IDE,
- gotowa baza skryptów, na których można się wzorować.
- brak możliwości użycia proxy,
- instalacja dodatkowego modułu xModules – 25 powtórzeń w wersji darmowej na uruchomienie macro,
- przy użyciu xModules użytkownik nie może pracować jednocześnie na komputerze,
- Arkusz CSV musi zostać wyeksportowany z LibreOffice / OpenOffice (separatory kolumn jako przecinki) – wyeksportowany plik z Excela nie jest prawidłowy (cudzysłów).
- wgrywanie wpisów do WordPress (wypełnianie elementów alty, metatagi itp)
- wprowadzanie danych do stron www za pomocą arkusza tekstowego CSV w pętli,
- pobieranie danych ze stron i umieszczanie ich w pliku CSV,
- pobieranie elementów XPath pozwala zintegrować to narzędzie z Screaming Frog Spider (funkcja custom extraction).
iMacros
iMacros jest konkurencyjnym programem do Kantu – bazuje na tym samym rozwiązaniu i ma identyczne funkcje lecz różni się interfejsem i budową skryptów. Rozszerzenie do przeglądarki jest bardzo okrojone, a aplikacja kosztuje sporo w stosunku chociażby do programu Zennoposter. Nie używałem tego programu zbyt długo dlatego wspominam o nim tylko i wyłącznie informacyjnie jako alternatywę dla Kantu.
- dodatek do przeglądarki,
- gotowa baza skryptów, na których można się wzorować,
- automatyzacja przeglądarki – pobierania plików, połączenie z bazą danych.., wypełnianie formularzy,
- możliwość testowania,
- ekstrakcja danych,
- trial na 30 dni pełnej wersji,
- współpraca z plikami Excel.
- Problemy z funkcjonowaniem programu przy dwóch monitorach,
- Interfejs.
- Analogiczne do Kantu,
- Integracja z bazami danych pozwala na aktualizowanie stanów magazynowych np. poprzez pobranie cen ze sklepu konkurenta.
Zennoposter
Zenek.. czyli program, który każdy porządny specjalista SEO powinien znać. Jest to najlepsze narzędzie do automatyzacji jakichkolwiek działań w przeglądarce – pozwala pisać bardzo zaawansowane skrypty. Można go używać przy pomocy proxy i automatycznie potwierdzać wiadomości na skrzynce pocztowej. Dodatkowo jego zastosowaniem może być możliwość manipulacji ocenami w serwisach www. Wiele osób wykorzystuje ten program do wygrywania konkursów internetowych.
Autorzy oferują go w 3 wariantach licencji, z czego licencja jest dożywotnia. Przyjazny interfejs aplikacji, obsługa wątków i własna przeglądarka (brak wtyczki do przeglądarki) powodują to że program jest całkowicie automatyczny i może działać w tle.
Program jest podzielony na 2 sekcje: projektową i wykonawczą, w pierwszej projektujemy i przygotowujemy projekt, w drugiej możemy go wykonać w pętli czy ustawić uruchomienie makra o o określonej dacie na podstawie kalendarza. Poniżej przykładowy skrypt wykonany w Zennoposterze.
- wielowątkowość (thready) – umożliwia odpalenie tego samego skryptu w kilku oknach przeglądarki,
- profile użytkowników z zmiennymi,
- proxy,
- łatwa praca z listami, tekstami, arkuszami MS Excel,
- obsługa FTP i baz danych,
- klient poczty,
- łatwość tworzenia skomplikowanych skryptów (w postaci bloków statycznych) i ich dzielenia na sekcje,
- automatyzacja pracy z captchą.
- brak wersji darmowej w postaci np. wtyczki do przeglądarki (jedyna możliwość to trial 30 dni),
- najtańsza wersja jednowątkowa “muli” i jest nieopłacalna,
- duże obciążenie zasobów komputera.
- rejestracja kont mailowych, odbieranie maili, rejestracja profili na forach,
- wygrywanie konkursów bazujących na głosowaniach internetowych,
- wgrywanie i pobieranie elementów ze stron,
- wiele innych 🙂
Selenium + Python
Selenium IDE jest środowiskiem do testowania aplikacji webowych, które w połączeniu z przeglądarka Firefox, Chrome pozwala na wykonywanie skryptów Selenium. Pozwala na nagrywanie akcji i kroków macro oraz ich automatyzacje z wykorzystaniem języków programowania. Na jego bazie opiera się wymieniona wyżej aplikacja Kantu. Narzędzie przeznaczone jest głównie do testów witryn internetowych.
Selenium może zostać zaimportowane do np. Pythona, PHP dzięki czemu można wykorzystać je w automatycznych testach.
>>> from selenium.webdriver import Firefox >>> from selenium.webdriver.firefox.options import Options >>> opts = Options() >>> opts.set_headless() >>> assert opts.headless # Operating in headless mode >>> browser = Firefox(options=opts) >>> browser.get('https://duckduckgo.com')
Automatyzacja testów aplikacji webowych
Screaming Frog Spider
Screaming Frog Spider to kolejne z narzędzi niezbędnych dla specjalisty SEO. Program jest webcrawlerem napisanym w Javie, który grupuje najważniejsze elementy podstron twojego serwisu, dzięki czemu w łatwy sposób można wyłapać błędne linki, przekierowania oraz setki innych rzeczy ważnych z punktu optymalizacji stron internetowych.
O ile wielu specjalistów od pozycjonowania korzysta z tego narzędzia, to jego zastosowanie nie kończy się tylko w tej dziedzinie. Screaming frog umożliwia pobranie każdego z elementów strony w sposób szybki i z pełna automatyzacją za pomocą extraction tool.
W połączeniu z ^funkcja select z aplikacji Kantu łatwo możemy pobrać
elementu dowolnej treści na stronie internetowej, która Screaming Frog “wyciągnie” nam z każdej podstrony serwisu. Może to nam pomóc gdy klient planuje migracje strony na jej nową wersje – skanujemy poszczególne unikalne elementy i eksportujemy je do pliku MS Excel./html/body/div[4]/div[2]/div/div
- Wprowadzenie XPath do screaming froga (extraction)
- Skan strony i wyciągnięcie danych treści dzięki xPath
- Eksport danych do pliku excel
Sam tym narzędziem “pobrałem” informacje o 45 tysiącach wtyczek WordPressa i o 7 tysiącach darmowych skórek znajdujących się w repozytorium tego systemu stron internetowych, co pozwoliło mi na stworzenie statystyk dotyczących repozytorium WordPressa.
- możliwość analizy dowolnej strony internetowej,
- możliwość pobrania dowolnego elementu znajdującego się w kodzie strony (również w aplikacjach react, angular JS),
- możliwość pobierania zdjęć, kodu strony i jego analizy,
- możliwość wysadzenia strony internetowej gdy znajduję się na słabym serwerze,
- wersja dostępna na systemy UNIX.
- bardzo okrojony w wersji darmowej,
- w zależności od ilości stron duże obciążenie zasobów komputera,
- brak możliwości kupienia licencji dożywotniej,
- problematyczny tester pliku robots.txt zwracający inne wyniki niż oficjalny parser w Google Search Console.
- audyty SEO,
- kondycja techniczna witryny,
- pobieranie danych ze stron internetowych,
- analiza UX podstron witryny – umożliwia wykonywanie screenów,
- badanie obciążenia serwera i wczytywania się strony,
- eksport XLS i filtrowanie danych.
Auto Text Expander Google Chrome
Wtyczka do przeglądarki umożliwiająca tworzenie skrótów klawiszowych, które wklejają odpowiedni tekst wraz z informacją ze schowka. Jest to przydatne chociażby podczas pisania maili. Można ją wykorzystać do przechowywania rożnych elementów tekstowych, które się powtarzają. Dodatek jest bezpłatny i nie posiada reklam, umożliwia również eksport i import skrótów klawiszowych.
Automatyzacja pracy na komputerze np. czynności w systemie Windows
Notepad++

automatyzacja czynności w edytorze tekstu notepad ++
Notepad++ jak sama nazwa wskazuję jest lepszą wersją windowsowego notatnika. Umożliwia prace na wielu plikach tekstowych poprzez zakładki, pozwala również na świetną automatyzacje czynności w edytorze tekstu poprzez wbudowane nagrywanie i odtwarzanie macro.
Przykładowe macro tekstu, które usuwa znaki nowej linii \n zamieniając je na przecinek ze spacją.
AutoHotKey + Pulover’s Macro Creator
Język skryptowy do automatyzacji działań na komputerze, nie tylko w przeglądarce! Oprogramowanie bezpłatne o bardzo dużych możliwościach. Pozwala ustawić specjalne skróty klawiszowe, które będą działać tylko w danej aktywnej aplikacji oraz makr. Umożliwia korzystanie w skryptach z pól systemu Windows jak i innych elementów tego systemu.
Przygotowanie skryptu polega na stworzeniu pliku tekstowego (za pomocą np. notatnika) o rozszerzeniu .ahk oraz jego uruchomienie. Aktywność programu można sprawdzić w pasku startowym windows obok ikon
- AutoHotKey msgbox
- AutoHotKey aktywność skryptu
Program posiada wsparcie dużej społeczności, na jego stronie znajduję się lista gotowych skryptów skryptów oraz bazę pomocy dla początkujących i drzemie w nim ogromny potencjał do automatyzacji czynności np. skryptów do oszukiwania w grach komputerowych
Przykładowy skrypt AutoHotkey otwierający notatnik podczas wciśnięcia przycisków numpad0 + numpad2 oraz wyświetlający msgBox przy wciśnięciu numpad0 + numpad1.
Numpad0 & Numpad1:: MsgBox, Podczas wciskania przycisku numpad0 wcisnąłeś numpad1. return Numpad0 & Numpad2:: Run, notepad.exe return
PulOver’s Macro Creator to aplikacja macro do nagrywania i obsługi makr za pomocą języka AutoHotKey. Ułatwia zarządzanie i przygotowanie makr.
Excel – Visual Basic for Applications (VBA)
Microsoft Excel to narzędzie, które pozwala nie tylko manipulować kolumnami czy wierszami arkusza danych – za pomocą skryptów VBA możemy pobrać setki tysięcy obrazów automatycznie na dysk oraz je odpowiednio nazwać by były bardziej przyjazne wyszukiwarce internetowej. W poszukiwaniu automatycznych skryptów zalecam stronę stackoverflow.com.
Wiele firm korporacyjnych posiada setki gotowych skryptów, z których korzystają pracownicy – jeżeli uważasz się za eksperta od Excela to powinieneś zapoznać się z poradnikiem dotyczącym języka VBA, który znajduję się w przycisku poniżej.
Konfiguracja w Excelu:
- Plik -> Opcje -> Dostosowanie wstążki -> Zaznaczasz widoczność sekcji Deweloper
- Następnie przechodzisz do sekcji
- Wprowadzasz skrypt (pamiętaj by wybrać odpowiedni arkusz)
- Po kliknięciu macro rozpoczyna pracę
Skrypty bash
Bash jest uniksowym systemem poleceń, ułatwiającym pracę i zarządzanie w systemach Unix. Możliwa jest również jego instalacja w systemie Windows 10. Skrypty i aplikacje napisane w tej formie pozwalają na duża elastyczność oraz automatyzacje np. kompresji zdjęć, operacji tekstowych na plikach, usuwanie duplikatów, zliczanie unikalnych wyrazów i wiele innych. Jest to o wiele lepszy odpowiednik programu cmd z systemu Windows.
Przykładowe komendy można sprawdzić za pomocą wpisania w konsoli curl cheat.sh/<nazwa polecenia>
zwróci to przykłady poleceń.
Najpopularniejsze narzędzia, z których korzystam to:
- imgp – kompresja i manipulacja zdjęciami
# # imgp # # Zmniejszenie zdjęc i rotacja z wiersza polecenia dla obrazów JPEG i PNG. # # Konwertuj pojedyncze obrazy i / lub całe katalogi zawierające poprawne formaty obrazu: imgp -x 1366x1000 path/to/dir path/to/file # # Skalowanie obrazu o 75% i nadpisanie obrazu źródłowego do docelowej rozdzielczości: imgp -x 75 -w path/to/file # # Obracanie obrazu w prawo o 90 stopni: imgp -o 90 path/to/file # #
- pngquant – kompresja plików png
#https://stackoverflow.com/questions/9647920/recursively-batch-process-files-with-pngquant #Jeśli masz ograniczoną głębokość katalogów i niezbyt wiele plików, to leniwe rozwiązanie: pngquant *.png */*.png */*/*.png #Standardowe rozwiązanie: find . -name '*.png' -exec pngquant --ext .png --force 256 {} \; #i wersja wielordzeniowa: find . -name '*.png' -print0 | xargs -0 -P8 -L1 pngquant --ext .png --force 256
- fish – friendly interactive shell
# # fish # # Friendly Interactive Shell. # Interpreter wiersza poleceń zaprojektowany tak, aby był przyjazny dla użytkownika. # # Uruchom interaktywną powłokę: fish # # Wykonaj polecenie: fish -c "command" # # Uruchom polecenie z pliku: fish file.fish # # Sprawdź plik pod kątem błędów składniowych: fish --no-execute file.fish # # Wyświetl informacje o wersji i zakończ: fish --version # #
- mozjpeg – kompresja plików .jpg / .jpeg:
#Przykład - kompresja wszystkich zdjęć w danym aktualnie znajdującym sie folderze do jakości 75% find $1 -type f -regex '.*\(jpg\|jpeg\|JPG\)$' -exec mozjpeg -quality 75 -copy none -outfile {} {} \;
- ImageMagick (convert)
# Aby zmienić rozmiar obrazu na stałą szerokość i wysokość proporcjonalną: convert original-image.jpg -resize 100x converted-image.jpg # Aby zmienić rozmiar obrazu na stałą wysokość i szerokość proporcjonalną: convert original-image.jpg -resize x100 converted-image.jpg # Aby zmienić rozmiar obrazu na stałą szerokość i wysokość: convert original-image.jpg -resize 100x100 converted-image.jpg # Aby zmienić rozmiar obrazu, a jednocześnie zmienić typ pliku: convert original-image.jpg -resize 100x converted-image.png # Aby zmienić rozmiar wszystkich obrazów w katalogu: # Aby zaimplementować pętlę for file in `ls original/image/path/`; do new_path=${file%.*}; new_file=`basename $new_path`; convert $file -resize 150 conerted/image/path/$new_file.png; done # Dodanie tekstu (text = Flower) convert flower.jpg -font courier -fill white -pointsize 20 -annotate +50+50 'Flower' flower_annotate1.jpg # przyciąć obraz convert flower.jpg -crop 128×128+50+50 flower_crop.jpg # Obrócić obraz convert flower.jpg -rotate 45 flower_rotate45.jpg # Dodać obramowanie convert -border 1x1 -bordercolor "#FFFFFF" image.png new-image.png # Konwersja PNG do JPEG (o 70%), jakość convert -quality 70 image.png new_image.jpg
- komendy tekstowe jak awk, sed, sort, uniq, tr, cat
- ^
cat plik.txt | tr " " "\n" | sort | uniq -c | sort -gr > uniq.txt
pozwala stworzyć listę unikalnych wyrazów z danego pliku tekstowego (plik.txt) i zapisanie go jako uniq.txt
Podsumowanie
Wymienione wyżej aplikacje i programy pozwalają na automatyzacje wielu czynności, od ściągania plików po stworzenie np. miniatur dla tysięcy zdjęć w minutę :). Od ciebie będzie zależeć jak je wykorzystasz i czy przydadzą Ci się w codziennej pracy. Zalecam zapoznanie się z wyrażeniami regularnymi (regex) oraz linią poleceń – w przypadku szukania skryptów, wiele gotowych rozwiązań znajduję się na YouTube czy stackoverflow.
Paweł
3 marca, 2019Super zestawienie. Wszystkie znane i lubiane, 2 zapomniane (niesłusznie) 🙂 Dzięki za nową motywację do dalszej nauki skryptów.
Bartosz
4 marca, 2019AutoHotKey I Pulover’s Macro Creator rzeczywiście robią robotę. Dzięki za zestawienie
Michał
4 marca, 2019Wojciech dobra marka – świetne zestawienie!
Antoni z Reklamea
4 marca, 2019Świetne zestawienie, dzięki. Wstyd, bo znałem raptem 3 narzędzia z całej listy. Chyba najwyższy czas za automatyzację powtarzalnych czynności.
Zgred
4 marca, 2019Szernięte 🙂 i podane dalej. Fajny spis – tylko keidy się tego uczyć.