![]() |
![]() ![]() |
![]() |
![]() ![]()
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: I tylko to jest związane z tym buttonem. Nie ma żadnego ID i dlatego mam problem. Macie jakieś pomysły? |
|
|
![]()
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 23.06.2012 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). Ok, dzięki za odpowiedź ![]() ![]() @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 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Kolejna osoba chcąca napisać bota
![]() Ten post edytował Dominator 23.06.2012, 22:16:06 |
|
|
![]()
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
![]() 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 ![]() Kod var element = document.getElementById('formularz'); // dobierasz się do formularz(<form>), właśnie poprzez DOM
element.submit(); -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 23.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Heh. Dobieranie do tego bibliotek to szczyt lenistwa ![]() 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 ![]() 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 |
|
|
![]()
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"
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 23.06.2012 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"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?
|
|
|
![]()
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
![]() -------------------- |
|
|
![]()
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ł ![]() Ten post edytował czerwon 25.06.2012, 18:01:05 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:22 |