Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Przychodzę do Was z żalosną prośbą o "tłumaczenie" z FF.au3 na funkcje dla IE.au3...

To jest ukryta treść, proszę

 

Jak za wiele proszę...to pierdolni***e mi bana i bedzie spokoj w dziale :P

Opublikowano

sam przetłumacz jeśli tylko nauczysz IE obsługi xpath

 

należy napisać od nowa dla IE

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

Wiem,że dla IE..

mam tyle:

To jest ukryta treść, proszę

Dobra hu* zamknijcie to bo nie wiem co odpieprzylem zeby taki temat dac..desperacja ;P

 

Prosze o zamkniecie.

Opublikowano

Przychodzę do tematu z odpowiedzią:

 

InternetExplorer nie obsługuje wyrażeń XPath!

 

Fragment mojej rozmowy z jackraymundem, odpowiedź na pytanie: Jak w IE.au3 pobrać zawartość pola "Najwięcej aktywnych" ze strony "mpcforum.pl"

 

 

Korzystasz głównie z javascriptowych metod

 

getElementsByTagName

getElementByID

 

(w drugiej 'element' jest w liczbie pojedynczej, kiedyś mi to zepsuło dobre 30 minut :} )

 

i ogólnie getElementsBy*

http://jacksleight.com/old/blog/2008/01/14/getelementsby/

 

oraz - równie istotne:

 

childNodes

 

(którego szczególnym rozwinięciem jest firstChild)

 

Ogarniasz XPath więc z tym też szybko powinieneś się uporać :]

 

Ogólny schemat postępowania wygląda mniej więcej:

 

1. Odnajdujesz interesujący cię element w drzewie DOM, nazwijmy go $oElementSzukany.

2. Szukasz najbliższegeo charakterystycznego elementu będącego ojcem, dziadkiem lub wujkiem tego elementu w drzewie DOM. Przez charakterystyczny mam na myśli posiadający atrybut ID (byłoby idealnie, nie może się powtarzać) lub szczególny atrybut name, class, ew. action.

3. 'Prowadzisz drogę' od elementu charakterystycznego, do elementu szukanego.

 

 

 

- - - -

 

 

 

Sytuacja z 'najwięcej aktywnych' jest bardzo prosta, bo znajduje się bardzo blisk elementu

 

div id="stats"

 

Od tego wychodzimy. Mamy więc ($oIE to obiekt InternetExplorer.Application)

 

To jest ukryta treść, proszę

 

Następnie znajdujemy elementy posiadające interesujący nas TagName (znacznik HTML -> w kodzie strony zawsze w trójkątnych nawiasasch, dokładnie to, czego głównie używasz w XPathie), w tym wypadku będzie to "dd".

 

To jest ukryta treść, proszę

 

Nazwałem zmienną 'Collection', gdyż funkcja ta zwraca kolekcję pasujących węzłów. Z tej kolekcji ( zbioru, grupy) trzeba jeszcze wyłuskać ten nas interesujący. Najłatwiej tutaj zauważyć, że będzie to ostatni element 'dd', będący dzieckiem elementu div id="stats" (getElementsBy* zwraca kolekcję elementów tylko spośród tych będących dziećmi, wnukami itd. od tego elementu, na którym ta metoda została przeprowadzona).

 

Trzebaby się więc dowiedzieć, ile tych elementów tam jest, aby wybrać ten ostatni. Do tego wykorzystujemy więc metodę "length", zwracającą długość (ilość elementów) danej kolekcji węzłów.

 

To jest ukryta treść, proszę

 

Łatwo już się więc odwołać do tego szukanego przez nas 'dd'.

 

To jest ukryta treść, proszę

 

Oczywiście zmienna zawiera element, aby dowiedzieć się, co w tym elemencie jest napisane, stosujemy metody

 

.outerText

 

To jest ukryta treść, proszę

 

I razem do kupy:

 

To jest ukryta treść, proszę

 

I teraz ważna rzecz:

metoda .outerText zwraca zawartość wszystkich węzłów tekstowych będących potomkami elementu na którym zostaje ta metoda przeprowadzona.

Żeby nie bawić się dalej w Stringi czy RegExpy, wypada odwołać się do zawartości konkretnego węzła tekstowego, używając metodę

.data

 

W tym przykładzie:

 

To jest ukryta treść, proszę

 

- - - -

 

 

Czy to zawsze jest takie męczące i skomplikownane? :}

Nie. Gdybym robił dla siebie, zrobiłbym to tak:

 

To jest ukryta treść, proszę

 

Oczywiście korzystając z własnych funkcji :]

 

To jest ukryta treść, proszę

 

Drugi sposób - krótszy w treści - w ogóle nie korzysta z GetElementsByTagName, opiera się na bezpośrednim odwoływaniu się do Dzieci elementu div id="stats".

 

W tym przypadku jest bardziej 'opłacalny' ze względu na bliskie pokrewieństwo między elementem szukanym a najbliższym elementem charakterystycznym.

 

 

Więcej masz tutaj:

 

To jest ukryta treść, proszę

Ta sygnatura jest pusta.

Opublikowano

Wielkie DZIĘ-KU-JĘ!

Jesteś wielki/a (piszesz w rodzaju meskim a plec masz ustawiona jako kobieta wiec wybacz niezdecydowanie) :)

+ i 5*

 

Jeszcze raz dziekuje :)

×
×
  • Dodaj nową pozycję...