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

Witajcie!

Chciałbym wiedzieć w jaki sposób mogę kliknąć w przycisk, nie używając adresu do którego zostanę przeniesiony po naciśnięciu. Mój przycisk to obrazek, jego wymiary to 380x30 px, ścieżka wygląda mniej więcej w ten sposób "http://jakaś-strona.com/images/przycisk.png", natomiast w kodzie HTML ma nadaną klasę (class) "przycisk". Próbowałem już następujących komend:

 

To jest ukryta treść, proszę

 

Niestety żadna z nich nie działa... Nie mam już pomysłu w jaki sposób rozwiązać, dlatego zwracam się do Was z prośbą o pomoc. Z góry dziękuję za wszelkie odpowiedzi. Pozdrawiam

Opublikowano

Wklej fragment kodu, w którym będzie zarówno początek jak i koniec formularza, oraz rzeczony przycisk.

 

Jestem zbyt zmęczona, by zjechać cię za próby naciskania obrazka .png. Po prostu poczuj się w tej sprawie wyśmiany do granic żałośności.

Ta sygnatura jest pusta.

Opublikowano

Rozumiem, że obrazek nie posiada w sobie załącznika, ale na stronie pełni rolę odnośnika, zgadza się? Możliwe, że źle zrozumiałem zawarty na forum tutorial. Anyway, rozwiązałem już problem wywołując akcję przycisku javascriptem, rozwiązałem to komendą _FFCmd, nie wiem tylko jak podstawić zdeklarowaną komendę do adresu przeglądarki. Chciałbym aby wpisana przeze mnie komenda w _FFCmd, dajmy na to "navigator.userAgent" została wpisana do adresu, tak samo jak można zrobić to ręcznie, poprzez wpisanie w adres przeglądarki "javascript:navigator.userAgent". Kombinowałem z FFOpenURL, niestety sam podstawia "http://", dlatego też nie może wykonać polecenia. Oto mój kod:

 

To jest ukryta treść, proszę

 

Proszę o pomoc.

 

P.S. Naturalnie wystawiam Państwu plusy za chęci ;).

Opublikowano

Nie zgadza się. Rolę odnośnika pełni... niespodzianka, odnośnik. W proszonym wcześniej kodzie html byłoby to <a href=''><img/></a>

 

Obrazek jest tylko wypełnieniem faktycznego linku. To tak jakbyś próbował otworzyć klasyczny link przepisując jego zawartość tekstową do notatnika.

 

- - - - -

 

A planowałeś może użyć... MsgBox'a?

 

To jest ukryta treść, proszę

 

<_<

 

- - - - -

 

Bardzo mnie ciekawi w jaki sposób 'rozwiązałeś' wcześniejszy problem używając funkcji, w srpawie której prosisz o pomoc dwa zdania dalej...

Ta sygnatura jest pusta.

Opublikowano

@4ggr35510n: Widać, że albo nie doczytałaś, albo nie zrozumiałaś tego co miałem do przekazania. Problem rozwiązałem wywołując akcję przycisku javascriptem, wpisując ją w adres przeglądarki. W kwestii wpisywania komendy w adres przeglądarki podałem PRZYKŁAD, chciałem, aby program wpisywał podaną mu komendę W POLE ADRESU przeglądarki (tak jak to robi się ręcznie poprzez javascript, w tym przypadku "javascript:navigator.userAgent"). Ponawiam więc pytanie, w jaki sposób mogę wpisać komendę javascript W POLE ADRESU przeglądarki, w analogiczny sposób jak to się robi ręcznie? Wykluczam wszelkie działania na klawiszach, chciałbym tylko i wyłącznie posługiwać się możliwościami FF.au3. Z góry dziękuję.

 

BTW: Rozumiem, że każdy może mieć gorszy humor, szanuję to, ale nie podoba mi się sposób w jaki się do mnie odnosisz. To, że wiesz trochę więcej ode mnie nie znaczy, że musisz wypowiadać się w tak zirytowany sposób. Tyle ode mnie...

Opublikowano

Faktycznie źle cię zrozumiałam. Widocznie uznałam wpisywanie akcji javascript w pole adresu za całkowicie bezsensowne. Zamiast tego podałam Ci prawidłowe rozwiązanie używając funkcji _FFCmd. Gdybyś z niego skorzystał, rozwiązałoby to twój problem.

 

Do wykonywania skryptów javascript na stronie służy komenda _FFCmd. Koniec, kropka.

 

- - -

 

Teraz zaś kwestia wprowadzania czegoś "W POLE ADRESU":

 

To jest ukryta treść, proszę

Zawiera zawartość paska adresu. Możesz zmienić tę zawartość na przykład poprzez

To jest ukryta treść, proszę

 

Zadowolony? Działa tak jak chciałeś?

 

Oczywiście, że nie działa, bo do tego służy _FFCmd, co bardzo wyraźnie, z działającym przykładem, przedstawiłam już dwa dni temu.

Ta sygnatura jest pusta.

Opublikowano

Działa świetnie, mogłabyś mi jeszcze zdradzić w jaki sposób mogę wysłać wpisaną w ten sposób komendę (tak jak ręcznie robimy to wciskając Enter)? Aż wstyd mi się przyznać, ale dotąd próbowałem samodzielnie kwestię wpisywania adresu rozwiązać poprzez CTRL + L, a następnie Send, niestety ten sposób nie do końca mnie satysfakcjonował, natomiast Twoje rozwiązanie jest po prostu perfekcyjne, gdyby tylko wysyłało wpisaną komendę. Póki co wszystko działa jak powinno :). Bardzo proszę o odpowiedź. Pozdrawiam

Opublikowano

Dlaczego nie zrobisz tego _FFCmd?

 

Nie będę cię uczył niepoprawnego sposobu... A przynajmniej, dopóki nie podam ci właściwego.

 

Nawet ty nie mógłbyś być tak uparty:D, więc rozumuję, że gotowe polecenie javascript wysłane przez FFCmd nie przynosi zamierzonego efektu. Częsty błąd, najprawdopodobniej odnosisz się do złego elementu dokumentu. Dużo by tłumaczyć, najlepiej pokażę ci to na właściwym przykładzie, więc:

 

Podaj linka do strony (ew. wklej kod HTML, ale lepiej linka) i napisz, co konkretnie chciałbyś zrobić.

 

Oraz dwie popularne 'wskazówki':

- Wysyłając FFCmd nie piszemy nigdzie 'javascript:'

- Odnosząc się do formularzy czasem należy dopisać '.wrappedJSObject.' między 'window' a 'document'

 

Te wskazówki raczej tak ogólnie, napisz co chcesz zrobić i daj linka, pokażę jak będzie dobrze, bo przez pasek url to mnie aż zęby bolą :]

Ta sygnatura jest pusta.

Opublikowano

@4ggr35510n: Zrobiłem tak jak mówiłaś (poprzez FFCmd) i wszystko działa jak fabryka chciała :). Skoro już piszę, chciałbym jeszcze zapytać w innej sprawie, lecz nadal na temat. Otóż w jaki sposób mogę zrobić pętlę, która od startu programu (ew. jeżeli to nie problem, od wciśnięcia klawisza Enter) sprawdzałaby czy nie ma na aktualnej stronie słowa "Kliknij tutaj" oraz "Pobierz", a następnie (w razie znalezienia którejś) klikała w znalezioną frazę? Generalnie widzę to tak, na początku muszę użyć FFLoadWait, nie jestem pewien czy mogę łączyć kilka if'ów w jednym, dlatego póki co nie wychylam się z kodem. Następnie jeżeli strona zostanie załadowana:

 

To jest ukryta treść, proszę

 

Teraz musiałbym zrobić osobną funkcję dla drugiej frazy, czyli "Pobierz", tak? Póki co dobrze myślę? Nie mam pojęcia jak to wszystko posklejać w całość, gdybyś była tak uprzejma i jeszcze pomogła mi tylko w tej małej kwestii byłbym ogromnie wdzięczny. Plusiki jak najbardziej lecą :D. Pozdrawiam

Opublikowano

Z enterem to jest dużo roboty, więc weź się za coś łatwiejszego, np. button. GUICtrlCreateButton() z helpa.

 

Można zagnieżdżać (bo tak się to nazywa) intrukcje warunkowe IF.

 

Jedyna pętla/instrukcja_warunkowa której w autoicie nie można zagnieżdżać to With...EndWith. (ciekawe, czy kiedykolwiek to info ci się do czegoś przyda...)

 

No dobrze, dobrze kombinujesz, z tymże radzę ci użyć _FFClick, patrząc wcześniej na atrybut id lub name interesującego cię linku. FireBug (ew. WebDeveloper, ale polecam FB), P-Klik i 'zbadaj element'.

 

Czy osobną funkcję to nie wiem, zależnie jak wygląda DOM strony, jeśli obstajesz przy LinkClick to tak, oddzielna instrukcja będzie raczej konieczna.

 

pseudokod:

To jest ukryta treść, proszę

 

Węzeł tekstowy to ten fragment drzewa DOM, w którym nie ma tagów ani ich atrybutów, a tylko czysty tekst, literki, to co widzisz na stronie (czyli najczęściej najmniejsza część DOMki ;]), czyli właśnie to czego szukasz... Tłumaczę żeby cię nie zmyliło cię to pojęcie.

 

Powodzenia.

Ta sygnatura jest pusta.

Opublikowano

Dobra, założyłem pętlę, program wyszukuje podany wyraz bezbłędnie, niestety za cholerę nie chce go kliknąć... Próbowałem następujących kodów:

 

To jest ukryta treść, proszę

 

Żaden z tych sposobów nie zadziałał w moim przypadku. Mój XPath wyciągnięty FireBug'iem wygląda w ten sposób "/html/body/div/div[2]/div/a", natomiast sam napis w kodzie prezentuje się następująco:

 

To jest ukryta treść, proszę

 

Klasa ramki to "frame". Mogłabyś mnie oświecić co źle robię?

Opublikowano

Mhm, jasne jackraymund, powodzenia... Są ramki więc nie zadziała.

 

Już ci mówiłam szymi, że NAPIS TO NIE LINK!. Jak wklejasz fragment kodu z linkiem, wypadałoby wkleić całego taga <a>, a nie tylko węzeł tekstowy w tagu <span> <_<

 

Ale spoko, nawet jakbyś wkleił dobrze to i tak nie ruszysz, bo wcześniej musisz odnieść się do odpowiedniej ramki.

 

Wklej kod całej strony z fragmentem Kliknij tutaj / Pobierz, tylko użyj spojlerów!

 

A jak chcesz kombinować dalej na własną rękę, to _FFFrameEnter.

Ta sygnatura jest pusta.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...