Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Auto klikanie w button
czerwon
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.06.2012

Ostrzeżenie: (0%)
-----


Witam, potrzebuję waszej pomocy z js.

Próbuję zrobić taki skrypt, który po wejściu na daną stronę automatycznie kliknie na button znajdujący się na tej stronie. Skrypt będzie działał w tampermonkey. Na razie udało mi się zrobić automatyczne zaznaczanie checkboxów i teraz nie mogę sobie poradzić z tym buttonem. Jego kod wygląda tak:

  1. <button type="submit" class="send enterCodeButton">Dalej</button>

I tylko to jest związane z tym buttonem. Nie ma żadnego ID i dlatego mam problem. Macie jakieś pomysły?
Go to the top of the page
+Quote Post
magnus
post
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

Ostrzeżenie: (0%)
-----


1. Wyciągnąć wszystkie buttony i przeszukać pod kątem class (o ile jest tylko jedna taka kombinacja na buttonach), albo podrzędnego elementu tekstowego z wartością "Dalej".
2. Napisać ten skrypt w casperJS, który ma ładną metodę clickLabel (klika w element z podaną etykietą tekstową, można ograniczyć do konkretnego typu elementu, np. właśnie buttona).


--------------------
Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr
Go to the top of the page
+Quote Post
czerwon
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.06.2012

Ostrzeżenie: (0%)
-----


Cytat(magnus @ 23.06.2012, 20:50:01 ) *
1. Wyciągnąć wszystkie buttony i przeszukać pod kątem class (o ile jest tylko jedna taka kombinacja na buttonach), albo podrzędnego elementu tekstowego z wartością "Dalej".
2. Napisać ten skrypt w casperJS, który ma ładną metodę clickLabel (klika w element z podaną etykietą tekstową, można ograniczyć do konkretnego typu elementu, np. właśnie buttona).

Ok, dzięki za odpowiedź wink.gif Pokombinuję i zobaczę co z tego wyjdzie smile.gif

@edit, jak uruchomić ten casperJS? Macie może jakąś instrukcję bo ściągnąłem to i phantomjs ale nie wiem jak zacząć co i jak? Mam tylko nadzieję, że skrypty nie są odpalane przez tą konsoletę tylko można je jakoś dodać np do tampermonkey?

Ten post edytował czerwon 23.06.2012, 21:53:35
Go to the top of the page
+Quote Post
Dominator
post
Post #4





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

Ostrzeżenie: (20%)
X----


Kolejna osoba chcąca napisać bota sad.gif

Ten post edytował Dominator 23.06.2012, 22:16:06
Go to the top of the page
+Quote Post
kamil4u
post
Post #5





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Heh. Dobieranie do tego bibliotek to szczyt lenistwa smile.gif

Skoro już umiesz zaznaczyć checkbox-a to znaczy, że znasz podstawy DOM-u. A jeżeli nie to się z nimi zapoznaj. W skrócie to wyszukiwanie elementu( np. HTML ) w JS.
Np. funkcję getElementById, czy getElementsByTagName itd. - Google powie Ci więcej.

No i teraz robisz bardzo skomplikowaną rzecz smile.gif :
Kod
var element = document.getElementById('formularz'); // dobierasz się do formularz(<form>), właśnie poprzez DOM
element.submit();


--------------------
Go to the top of the page
+Quote Post
czerwon
post
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.06.2012

Ostrzeżenie: (0%)
-----


Cytat(kamil4u @ 23.06.2012, 23:36:27 ) *
Heh. Dobieranie do tego bibliotek to szczyt lenistwa smile.gif

Skoro już umiesz zaznaczyć checkbox-a to znaczy, że znasz podstawy DOM-u. A jeżeli nie to się z nimi zapoznaj. W skrócie to wyszukiwanie elementu( np. HTML ) w JS.
Np. funkcję getElementById, czy getElementsByTagName itd. - Google powie Ci więcej.

No i teraz robisz bardzo skomplikowaną rzecz smile.gif :
Kod
var element = document.getElementById('formularz'); // dobierasz się do formularz(<form>), właśnie poprzez DOM
element.submit();

Dziękuję, poradziłem sobie. Użyłem getElementsByTagName, ponieważ <form> nie był jasno określony i miałem problemy ze znalezieniem nazwy. Jak będę jeszcze czegoś potrzebował to się odezwę. Pozdrawiam.

@edit, w sumie to jeszcze jedno pytanie. Jak można zablokować niektóre elementy na stronie żeby się nie ładowały np. tło i inne obrazki?

Ten post edytował czerwon 24.06.2012, 13:07:44
Go to the top of the page
+Quote Post
kamil4u
post
Post #7





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Zapewne masz problem, bo długo czekasz na załadowanie formularza, gdyż używasz zdarzenia onload. Zamiast tego użyj zdarzenia uruchamianego zaraz po załadowaniu DOM-u. W chrome to będzie:
Kod
document.addEventListener('DOMContentLoaded', callback, false);
W google szukaj pod "DOMContentLoaded"


--------------------
Go to the top of the page
+Quote Post
Dominator
post
Post #8





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

Ostrzeżenie: (20%)
X----


Jak idą prace nad botem aaevil.gif ?


jQuery

  1. $("button[type='submit']").click();
Go to the top of the page
+Quote Post
czerwon
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.06.2012

Ostrzeżenie: (0%)
-----


Cytat(kamil4u @ 24.06.2012, 14:59:39 ) *
Zapewne masz problem, bo długo czekasz na załadowanie formularza, gdyż używasz zdarzenia onload. Zamiast tego użyj zdarzenia uruchamianego zaraz po załadowaniu DOM-u. W chrome to będzie:
Kod
document.addEventListener('DOMContentLoaded', callback, false);
W google szukaj pod "DOMContentLoaded"

Szukałem na googlach jak radziłeś jednak żaden kod nie działał. Mógłbyś bardziej opisać to zdarzenie
Kod
document.addEventListener('DOMContentLoaded', callback, false);
? I czy działa ono z Chrome?
Go to the top of the page
+Quote Post
kamil4u
post
Post #10





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


http://jsfiddle.net/Lh2BV/ - ew. dodaj więcej obrazków i zobacz co się stanie smile.gif


--------------------
Go to the top of the page
+Quote Post
czerwon
post
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.06.2012

Ostrzeżenie: (0%)
-----


Już chyba rozumiem na czym to polega tylko jeszcze za bardzo nie wiem co podstawić za
Kod
document.addEventListener('DOMContentLoaded', DOM, false);
tak jak w tym przypadku "DOM", ponieważ nie ma nigdzie takiej funkcji na stronie, na której to potrzebuję.

@edit: Już sobie chyba poradziłem. Dla przykładu dodałem do swojego kodu
Kod
function DOM(){
alert("DOM się załadował");
}
Kod
document.addEventListener('DOMContentLoaded', DOM, false);
teni kodzik, z tym że zmieniłem parametry pod kod strony pod który go potrzebowałem i faktycznie zanim cała strona się załadowała alert już się wyświetlał smile.gif czyli chyba wszystko w porządku. Dzięki kamil4u.

Ten post edytował czerwon 25.06.2012, 18:01:05
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:22