Jak programowo uruchomić js bez TWebBrowser

0

Witajcie,

Mam mały problem. Potrzebuję uruchomić stronkę i wywołać na niej naprostszy na świecie:

document.getElementById("IDObiektu").click()

Do tej pory robiłem to używając TWebBrowsera. Niestety wskazana strona nie działa i przy webbrowser1.navigage('IP') zwraca mi stronkę informującą, że działa tylko na chrome lub firefox.

Doradźcie coś. W zasadzie potrzebuję formy z 1 buttonem gdzie będzie powyższy skrypt.

0

O ile dobrze pamiętam, w miarę niedawno był prawie identyczny wątek na forum. I odpowiedzią było "nie da się" :(

0

sprobuj ustawic w systemie (rejestr bodajze), aby webbrowser przedstawial sie jako inna przegladarka.

0

To może inaczej, w jaki sposób wysłać dany js bezpośrednio na stronę bez otwierania jej? Da się w jakiś sposób np POST wygenerować? Nie musi być delphi. Może jaki curl lub python lub java?

1

Dla tych co twierdzą, że się nie da:

Opis:
http://blog.synopse.info/post/2014/04/07/JavaScript-support-in-mORMot-via-SpiderMonkey

Kod:
https://github.com/synopse/mORMot/tree/master/SyNode

Jak widać, można też odpalić moduły Node.JS w aplikacji Delphi...
No, ale "nie da się"...

3

Polecam też przeanalizować, co tak naprawdę strona odbiera/wysyła, bo może się okazać że jest to zwykły json i komunikacja http-post do json-api. Wtedy nie trzeba kombinować tylko wysłać to co potrzeba do serwera. Ostatnio parę minut mi zajęło by zrobić program do scrapingu jakiegoś katalogu.

0

Widziałem gdzieś propozycję żeby za pomocą Delphi odpalać polecenia Javy (przez jakąś bibliotekę) a tam już można użyć np. selenium ;)

Use the existing Java/.NET bindings and call them from Delphi using a wrapper technology

0
Kristof napisał(a):

Polecam też przeanalizować, co tak naprawdę strona odbiera/wysyła, bo może się okazać że jest to zwykły json i komunikacja http-post do json-api. Wtedy nie trzeba kombinować tylko wysłać to co potrzeba do serwera. Ostatnio parę minut mi zajęło by zrobić program do scrapingu jakiegoś katalogu.

Zawsze powtarzam, że najlepsze są najprostsze pomysły. Uruchomiłem wiresharka i faktycznie wystarczy nieco bardziej rozbudowany HTTP GET :) Dzięki

0

zastanawiam się, czy Delphi jest dobrym narzędziem do tego.
Są narzędzia typu Headless Chrome czy wrapper na niego Puppeteer, więc jeśli chodzi po prostu o odpalenie JS na stronie internetowej bez przeglądarki, to czemu używać do tego Delphi zamiast bardziej adekwatnych narzędzi?

Chyba, że chcesz to zintegrować z istniejącym większym rozwiązaniem napisanym w Delphi, to wtedy co innego (w sumie nie wiem, czy funkcjonalność Potrzebuję uruchomić stronkę i wywołać na niej naprostszy na świecie: to główna rzecz, który chcesz osiągnąć, czy tylko część większego problemu).

Nie musi być delphi. Może jaki curl lub python lub java?

czemu nie JavaScript po prostu? (choćby wspomniany Puppeteer).

1 użytkowników online, w tym zalogowanych: 0, gości: 1