Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Href z   - jak się do niego dostać?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
magnus
Pomóżcie, bo mnie trafia i nie wiem jak to rozwiązać:
Jakiś geniusz zrobił link w takiej postaci:
  1. <a href="blablabla">Next&nbsp;&nbsp;</a>

Próbuję go "kliknąć" w casperJS i jakbym nie próbował, dostaję błąd nieistniejącego selektora :/
[JAVASCRIPT] pobierz, plaintext
  1. casper.then(function() {
  2. // click on link
  3. this.clickLabel('Next&nbsp;&nbsp;', 'a'); //nie działa
  4. this.clickLabel('Next ', 'a'); //nie działa
  5. this.clickLabel("Next${nbsp}${nbsp}", 'a'); //też nie działa
  6. });
[JAVASCRIPT] pobierz, plaintext


No i nie wiem, jak to zapisać, żeby zatrybiło sad.gif
patrysiek2
Może tak?
[JAVASCRIPT] pobierz, plaintext
  1. casper.then(function() {
  2. // click on link
  3. this.clickLabel('Next', 'a');
  4.  
  5. });
[JAVASCRIPT] pobierz, plaintext



kamil4u
W ogóle nie znam tego dodatku/biblioteki. Rozumiem, że pod pierwszy parametr trzeba podać href linku. Zrób tak:
- znajdź link poprzez DOM
- pobierz jego wartość( href ) - https://developer.mozilla.org/pl/DOM/element.getAttribute
- i wykorzystaj w swojej funkcji - dzięki temu masz pewność, że pod zmienną jest dokładnie to co w atrybucie HTML

Jak nie zadziała napisz co to ma robić, może znajdę gotowy skrypt napisany przeze mnie w "czystym" JS - wtedy na pewno zadziała wink.gif
magnus
@patrysiek: tak też nie działa, to pierwsze, co próbowałem wink.gif

@kamil:

Pod pierwszy parametr trzeba podać właśnie label (text) elementu.
Z dokumentacji casperJS:
[JAVASCRIPT] pobierz, plaintext
  1. // <a href="...">My link is beautiful</a>
  2. casper.then(function() {
  3. this.clickLabel('My link is beautiful', 'a');
  4. });
  5.  
  6. // <button type="submit">But my button is sexier</button>
  7. casper.then(function() {
  8. this.clickLabel('But my button is sexier', 'button');
  9. });
[JAVASCRIPT] pobierz, plaintext


I właśnie tak robiłem, że pobierałem i podstawiałem do funkcji. Sęk w tym, że pobierałem element.innerHTML, który pokazywał &nbsp; A trzeba było pobrać element.text smile.gif
I wyszło, że prawidłowo będzie:

[JAVASCRIPT] pobierz, plaintext
  1. this.clickLabel('Next’á’á', 'a');
[JAVASCRIPT] pobierz, plaintext


Przy czym tutaj są jeszcze zjedzone dwa znaki, gdyż przed każdym á jest jeszcze znak ramki (w kształcie litery T). Strona niby UTF-8 i po angielsku, ale z Singapuru, więc może dlatego smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.