Pobranie strony GET z wykonaniem Javy

0

Siemka

da się wykonać coś takiego:

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?

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ę.

0

no ok to powiedz mi jak zrobić z tym chromem

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.

0

Dzięki wielkie! :)

1

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

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.

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;

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