AutoFlux – Skrypty

17 stycznia, 2020 Wyłącz przez admin

Skrypt dla wybranej strony jest uruchamiany po kliknięciu na przycisk uruchamiania pojedynczego skryptu . Wszystkie skrypty z otwartej listy adresów wykonywane są kolejno na dwa sposoby:
1. Jeden raz (jedno przejście) – opcja (menu główne\narzędzia\automat globalny – jedno przejście).
2. W kółko – uruchomienie\zatrzymanie przyciskiem

Program rozpoczyna wówczas działania na otwartej stronie zgdonie z kolejnymi komendami skryptu. Zazwyczaj, w zależności od rodzaju komendy, musimy podać dodatkowe parametry.

Skrypt powiązany z daną stroną wyglądać może na przykład tak:

home=http://www.lubtoblabla.pl
open=http://www.lubtoblabla.pl/announcements/add
paste
select=category_id=352
select=province_select=8
radio=annoucement_availability=30
checkbox=accept_terms=T
click=Dodaj
next=31
resultok=Ogłoszenie zostało dodane

Jak można się domyślić, program w powyższym przykładzie otworzy strone główną, potem stronę z formularzem, wybierze kategorię oznaczoną w kodzie strony liczbą 352, potem wybierze województwo, następnie wybierze czas trwania ogłoszenie 30 dni, zaznaczy przycisk akceptacji regulaminu, kliknie przycisk wysyłania formularza, poczeka 5 sekund, sprawdzi czy na stronie pojawiającej się po dodaniu wpisu widnieje fraza „Ogłoszenie zostało dodane”, i zapisze wynik do logu. Program zanim rozpocznie wykonywanie skryptu zapisze czas uruchomienia, aby przy następnej próbie dodawania pełnym automatem mógł sprawdzić, czy można w ogóle ponowić działania skryptu, czy minął już określony czas.
UWAGA, w najnowszej wersji znajduje się opcja umożliwiająca wybór opcji select czy innych według tematycznych fraz, bez potrzeby wpisywania wprost konkretnych liczb. Więcej na ten temat na dole strony.

Z programem jest dostarczone wiele gotowych skryptów. Jeśli jednak potrzebujemy tworzyć nowy skrypt dla nowej strony, zazwyczaj musimy „odszyfrować” nazwy pól formularzy z kodu otwartej strony. Dla ułatwienia tego zadania w programie mamy dwie funkcje: podglądu źródła strony (przycisk ) i podglądu nazw pól posortowanych według ich rodzajów (przycisk ).

Znaczenie poszczególnych rozkazów możliwych do używania w skryptach w poniższej tabeli.

Zobacz też jak rozwiązujemy problem jednego skryptu strony a różnych kategorii w serwisach ogłoszeniowych – niżej, pod tabelką.

Komenda służąca do podania loginu i hasła do stron, na których występuje dwuetapowa autoryzacja wymagająca dodatkowego wpisywania loginu i hasła. Program to omija. Tego rozkazu należy użyć przed otwarciem strony. Przykład:
auth=jestem=czlowiekiem

KOMENDA OPIS
auth=
checkbox= Zaznaczenie lub odhaczenie checkboxa o podanej nazwie. Podajemy nazwę tego pola i opcję zaznaczenia (T=zaznaczony, inny_niż_T=niezaznaczony. Przykłady:
checkbox=reg_agreed_terms_checkbox=T
checkbox=reg_agreed_terms_checkbox=F
checkboxall Zaznaczenie wszystkich checkbox-ów na stronie.
click= Kliknięcie na przycisk w formularzu wysyłający formularz, itp. Podać należy jego nazwę, lub wartości „value”, która znajduje się w kodzie strony. Przykład: click=Wyślij
clickid= Kliknięcie na element strony posiadający określone id. Jako parametr rozkazu podajemy id elementu. Przykład: clickid=submit_reg
clickcl= Kliknięcie na element strony (określonej klasy). Jak wyżej tyle, że podajemy klasę elementu (class). Przykład: clickcl=btn btn-normal btn-ornge
clickhref= Kliknięcie na element strony typu „a”. Jak wyżej tyle, że podajemy atrybut href linku. Przykład: clickhref=http://www.blblblaaa.pl/costam.php
clickimg= Kliknięcie na element strony typu „img”. Jak wyżej tyle, że podajemy atrybut src obrazka. Przykład: clickimg=http://www.blblblaaa.pl/obrazy/zdjecie.jpg
clickany= Kliknięcie na dowolny element strony, który posiada wartość tekstową jak w parametrze rozkazu.
Przykład: clickany=szukaj coś
W tym przykładzie, program kliknie na takie elementy strony, które będą zawierały wyświetlany tekst „szukaj coś”, może to być element taki jak div, span, button, p, a, itp.
clickok Program zasymuluje naciśnięcie klawisza Enter. Przydaje się to wówczas, gdy strona wyświetla jakieś modalne alerty, zapytania i chcemy zamknąć takie okno potwierdzając.
clickcancel Program zasymuluje naciśnięcie klawisza Escape. Przydaje się to wówczas, gdy strona wyświetla jakieś modalne alerty, zapytania i chcemy zamknąć takie okno ale nie chcemy potwierdzać.
ckeeditor= Wklejenie tekstu w pole edytora typu CKE Editor. Przykład: ckeeditor=editor1=#c2
W powyższym rozkazie program wklei do cke edytora o nazwie „editor1” wartość pola w projekcie posiadającego klucz „c2”.
del= Usunięcie elementu strony (określonego id, class, tagname). Niekiedy elementy ze strony mają podobne nazwy i przeszkadza to automatowi w poprawnym wyborze (np. przycisk login i przycisk rejestracji). Usuwamy więc niepotrzebny przycisk przed kliknięciem w inny przycisk w formularzu strony.
delone= Jak wyżej, tyle, że usuwamy element strony o określonej nazwie i numerze z tablicy tych elementów. Numerowanie elementów w kodzie stron zaczyna się od zera. Np. załóżmy, że na stronie znajduje się formularz, w którym są dwie listy wyboru select ładowane dynamicznie o tej samej nazwie „kateg”. Komendą delone=kateg=0 usuniemy pierwszy element i zostanie tylko jedna, druga lista select, w której w dalszej części skryptu możemy wybrać interesującą nas opcję.
func= Uruchomienie podanej w parametrze funkcji znajdującej się na stronie. Np. jakaś strona posiada funkcję „regulamin”, która jest uruchamiana przez stronę w momencie nacisnięcia przez człowieka na checkbox albo link, coś tam sprawdza i zapisuje, że nastąpiło kliknięcie. Przy czym jest to potrzebne np. do wysłania formularza.
Program musi więc uruchomć tę funkcję. Podajemy taki rozkaz: func=regulamin() itp. jak jest w kodzie strony, który musimy przejrzeć. Niekiedy przez wywołanie jakiejś funkcji następuje wybór kategorii, czy przejście do następnego etapu, np. func=DodajOgl(2,0).
home= Adres główwny strony, która bedzie otwierana. Przykład: home=https://forum.abcblablaxd.pl
Skrypt otwiera tę stronę w przeglądarce. Oprócz tego, adres ten jest brany jest pod uwagę przy używaniu komendy imgcaptcha.
Po wywołaniu strony program czeka określoną w ustawieniach głównych ilość sekund, tak aby strona załadowała się do końca. Standardowo są to 2 sekundy.
imgcaptcha Rozwiązywanie captchy obrazkowej przy pomocy serwisu anti-captcha. Jak w przypadku recaptchy, potrzebne jest konto w anti-captcha.com.
Przy tej metodzie potrzebne są dodatkowe parametry. Przykład: „imgcaptcha=imagestring=captcha.php?action=regimage&imagehash=”.
Mamy tutaj komendę i dwa parametry oddzielone znakiem równości. W powyższym przykładzie, kod strony zawiera odwołanie do grafiki captchy zaczynające się nazwą pliku, który go pobiera z serwera z dodatkowymi parametrami. Należy podać stałą część tego źródła jako drugi parametr, czyli „captcha.php?action=regimage&imagehash=”. Po tym kawałku, w kodzie strony znajduje się zazwyczaj jeszcze dodatkowa wartość, tzn. jeśli całość to „captcha.php?action=regimage&imagehash=b1ae9a6ea055171c4c07825724d0685b”, to tą dodatkową wartością jest „b1ae9a6ea055171c4c07825724d0685b”. Jest to unikatowy identyfikator obrazka, który zmienia się przy każdym przeładowaniu strony lub obrazka. Program sam go odczyta i pobierze obrazek aby przesłać go do rozwiązania w Pakistanie. Podobne zasady panują na innych stronach.
Jako pierwszy parametr po komendzie „imgcaptcha” skryptu programu, podajemy nazwę pola formularza, w który program musi wkleić rozwiązaną treść obrazka captchy. W powyższym przykładzie ten parametr to „imagestring”.
Do pobrania obrazka program potrzebuje pełnej ścieżki, którą stanowi parametr komendy „home=” znajdującej się na początku skryptu. Program skleja wartość bazową adresu strony z parametrem komendy imgcaptcha.
next= Planowanie okresu, jaki musi upłynąć, aby globalny automat uruchamiany przyciskiem  mógł uruchomić skrypt. Przykład: next=14
Można podać sam rozakz bez parametru „next=”. Program domyślnie ustala czas na 31 dni.
W parametrach tej komendy można definiować minuty, godziny i dni. Np. „next=15m” – odstęp 15 minut, „next=8h” – 8 godzin, „next=3d” – 3 dni, „next=60” – 60 dni.
open= Otwieranie konkretnego adresu podstrony. Przykład: open=https://forum.abcblablaxd.pl/register
Zazwyczaj jest to początkowy adres podstron procesu dodawania ogłoszenia, rejestracji użytkownika, logowania, itp.
Po wywołaniu tej komendy program czeka określoną w ustawieniach głównych ilość sekund, tak aby strona załadowała się do końca. Standardowo są to 2 sekundy.
paste Wklejanie danych projektu do formularza.
Program wkleja dane z otwartego projektu.
Kolejne dane pobierane są z pól odpowiadających polom w pliku z nazwami pól formularza. Przykładowo, jeśli w linii projektu oznaczonej symbolem „a1” wpisaliśmy jakąś treść „xyz…”, to gdy na stronie w formularzu znajdzie się pole z listy pól związanych z tym polem projektu, do tego pola na stronie zostanie wklejona ta wartość „xyz…”.
Program reaguje oczywiście na łańcuchy synonimów wybierając losowo synonimy. Można też zdefiniować wstawianie losowych liczb, linii z pliku tekstowego, tekstów z plików.
Program uzupełniana również pola z pytaniami zabezpieczającymi. Pytania i odpowiedzi zapisane są bazie „Q&A”. Zobacz opis trików w skryptach i danych projektów.
proxy= Obsługa serwerów proxy. Program może otwierać strony przez serwery proxy. Adresy ip proxy możemy podać na dwa sposoby:
a). W notatce do projektu wpisujemy linię komendy według następującego wzoru (proxy=adres_ip:port), np: proxy=52.139.3.203:80
Program otwiera wówczas stronę przez proxy w momencie podwójnego kliknięcia w tabeli adresów i w trakcie przetwarzania skryptów (o ile w skrypcie nie ma podanego proxy).
b). W skrypcie wpisujemy komendę według takiej samej zasady jak wyżej.
Program otwiera stronę (home=, open=) używając proxy wpisanego w dany skrypt. Proxy podane w skrypcie jest nadrzędne w stosunku do proxy, które jest wpisane w notatce do projektu.
radio= Wybranie opcji na stronie (element typu radio o podanej nazwie). Przykład: radio=gender=0
recaptcha Rozwiązywanie recaptchy z formularza na stronie przy pomocy serwisu anti-captcha.com. Do poprawnego działania wymagane jest działające konto w anti-captcha.com (około 1,8 USD na 1000 rozwiązań recaptchy, przy zwykłych captcha’ch jeszcze taniej). Nie są wymagane dodatkowe parametry. Należy tylko podać klucz klienta wygenerowany w serwisie anti-captcha.
resultok= Podajemy tu charakterystyczną frazę tekstu, jaka znajduje się na stronie wyświetlanej po pozytywnym wysłaniu formularza, np. po dodaniu nowego ogłoszenia. Przykład: „resultok=Ogłoszenie zostało dodane”.
Gdy ta komenda znajduje się w skrypcie, program zapisuje wynik do tekstowego pliku logów (w folderze sys\log.csv), który możemy podejrzeć w zakładce „notatki, logi…”.
select= Wybór opcji z pola typu select na stronie. Jeśli w formularzu na stronie musimy wybrać jakąś opcję z listy rozwijanej należy wykorzystać komendę „select”. Jako parametry należy podać nazwę tego elementu w kodzie strony oraz wybraną opcję z kodu strony. Przykład: „select=cb_uestate[]=Mazowieckie”
selectid= Wybór opcji z pola select posiadającego określone Id w kodzie strony. Zasady jak wyżej, tyle że podajemy nie nazwę pola, lecz jego ID.
selectcl= Wybór opcji z pola select posiadającego określoną klasę. Zasady jak wyżej, tyle że podajemy nie nazwę pola, lecz jego klasę.
showid= Wyświetlenie ukrytego elementu strony o określonym id. Niektóre elementy strony są ukryte. Jeśli chcemy je podejrzeć możemy wymusić ich „pojawienie się” na stronie. Przykład: „showid=ukryty_div_id3”
showcl= Wyświetlenie ukrytego elementu strony określonej klasy. Jak wyżej. Przykład: „showcl=ukryty_div_klasy1”
stop Przerwanie wykonywania skryptu.
submitform= Wysłanie formularza o określonej nazwie lub argumencie formularza „action” podanej/podanego w parametrze tej komendy. Przykład: submitform=forma1 albo: submitform=wyslijmaila.php
submitformid= Wysłanie formularza o określonym id podanym w parametrze tej komendy. Przykład: submitformid=jakies_id_formy
text= Wklejenie podanego tekstu do pola o określonej nazwie. Ta komenda jest użyteczna, jeśli w polu o wybranej nazwie chcemy umieścić tekst inny niż ten wpisany początkowo z danych projektu. Zdarza się bowiem, że okreslona nazwa pola ma różne znaczenie na różnych stronach i np. na jednej stronie jako nick wklejany jest nick – tak jak tego oczekujemy, ale na innej stronie w polu o tej samej nazwie oczekiwane jest nazwisko. Musimy wówczas (po wykonaniu komendy „paste”) wymusić wklejenie do tego pola innej wartości. Tę wartość możemy wpisac bezpośrednio jako wartość w skrypcie, lub podać w skrypcie nazwę innego pola zawierającego oczekiwaną wartość. Przykładowo, rozkaz „text=nickname=Jozinzbozin” wymusi wklejenie do pola „nickname” wartości „Jozinzbozin”. Możemy też podawać losowe dane, dane z pliku dane z innego pola używając znacznika „#klucz_pola”, itp. (zob. opis trików w skrypcie).
tinymce= Wklejenie tekstu w pole edytora typu tinymce. Przykład: tinymce=#c2
W powyższym rozkazie program wklei na stronie do pola tekstowego typu tinymce wartość pola w projekcie posiadającego klucz „c2”. Nie podajemy tutaj nazwy tego elementu występującego w kodzie strony.
wait= Wstrzymanie działań na określoną liczbę sekund, np. aby strona zdążyła się załadować przed wklejaniem danych czy rozwiązywaniem captchy. Przykład: „wait=2” (czekaj dwie sekundy).
ustawieniach głównych można podać trzy domyślne czasy dla tej komendy. Są to czasy A, B, C. Na przykład, jeżeli w kodzie skryptu zdefiniujesz „wait=B”, to program będzie brał pod uwagę czas przerwy po komendzie B.

Uwaga! Kwestia różnych kategorii wpisów (np. na stronach ogłoszeniowych czy katalogach) w tym samym skrypcie przy różnych projektach. Na tego typu stronach używamy tego samego skryptu, ale przy różnych projektach chcemy użyć różnych kategorii wpisu. Zazwyczaj wybór kategorii wpisu wymaga komendy „select=”, w której podajemy wartość wyboru. Dlatego musimy mieć możliwość podmiany wybranej linii skryptu na inną, w zależności od aktywnego projektu. W tym celu, w odpowiedniej linii skryptu, przed komendą umieszczamy znak gwiazdki, asterix. Pojawia się wówczas dodatkowe okienko, w którym możemy wpisać, jak dana komenda skryptu ma wyglądać w przypadku tego aktywnego projektu.

Na powyższym obrazie widzimy, że w wybranym projekcie cała linia zaczynająca się gwiazdką „*select=…” będzie zamieniana na inną, czyli odbędzie się wybór innej kategorii. W efekcie końcowym wpisy dla Kowalskiego dodamy z kategorią inną niż dla Nowaka.

 

Od wersji 3.4a możliwe jest jeszcze bardziej automatyczne dopasowywanie kategorii wpisów (na stronach ogłoszeniowych) tylko poprzez zdefiniowanie fraz charakterystycznych dla tematyki wpisów. Program sam dopasowuje kategorie wpisu do fraz lub wybiera losową jeśli nie znajdzie. Działa to również z podkategoriami, tzn. jeśli główna kategoria nie będzie zawierać frazy, ale fraza ta znajdzie się w podkategorii, to program to uwzględni.

Frazy definiujemy w projekcie, w skrypcie umieszcza się klucz określający, którą frazę stosujemy i nr sekcji z drzewkiem nazw, które jest w notatce do skryptu. Obrazuje to schemat zależności. W zestawie adresów nr 1 znajdują się już przygotowane skrypty ogłoszeniowe i praktycznie tylko w projekcie wystarczy zdefiniować jakie frazy są charakterystyczne dla interesującej nas tematyki wpisu.

Film obrazujący te zasady: