Pobranie strony GET z wykonaniem Javy

Pobranie strony GET z wykonaniem Javy
JH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Siemka

da się wykonać coś takiego:

Kopiuj
IdHTTP1.Get('www.blablabla.pl/abc123123');

ale tak żeby skrypty javy się wykonały na tej stronie?? a jak nie to czy istnieje w ogóle możliwośc taka w indy albo synapse?

somedev
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 666
0

Otwórz w WebBrowserze i pobierz dokument html po wyrenderowaniu. Getem pobierzesz zawartość, czyli plik html ew. z skryptem JS. Musiał byś mieć silnik który to wyrenderuje, więc najlepiej WebBrowserem lub osadź sobie chroma jako subproces i pobieraj z niego wyrenderowaną stronę.

JH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

no ok to powiedz mi jak zrobić z tym chromem

somedev
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 666
2

https://github.com/salvadordf/CEF4Delphi - to jest opakowanie silnika Chroma w komponent dla Delphi ale też Lazarusa. Jest tam też tona przekładów jak tego używać w katalogu demo.

JH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Dzięki wielkie! :)

Marius.Maximus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2202
1

To co jest w przeglądarce to JavaScript a nie Java !

RD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 212
0

Też się męczyłem z podobnym problemem. Poniżej masz gotowe rozwiązanie z dowolnymi skryptami na stronie tak aby pobieranie zawartości było zawsze poprawne, możesz także zamiast webbrowsera użyć indy.

Kopiuj
procedure LoadPage;

  procedure SetApp;
  const
    registryPath = 'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION';
  var
    Registry: TRegistry;
    exeName: String;
  begin
    exeName := ExtractFileName(Application.exeName);

    Registry := TRegistry.Create(KEY_SET_VALUE);
    try
      Registry.RootKey := HKEY_CURRENT_USER;
      Registry.OpenKey(registryPath, True);
      if not registry.ValueExists(exeName) then
        Registry.WriteInteger(exeName, 9999);
    finally
      Registry.Destroy();
    end;
  end;

begin
  SetApp;
  WebBrowser.Silent := true;
  WebBrowser.Navigate('https://mypage.com');
end;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.