Sorry, ich weiß nicht, wie oft ich es sagen soll... ICH WILL NUR DEN TEXT - und den gibt mir keiner!
Ich hatte das so verstanden, dass du das danach automatisch auswerten wolltest. Das erschwert du dir damit unnötig.
Ich würde dir sehr raten, auf den umständlichen Weg über den Webbrowser und das umständliche Auswerten des reinen Textes zu verzichten und den Download der Seite und den direkten Zugriff auf die Elemente zu nutzen.
Aber dein Weg ist sehr einfach, was das Auslesen des Textes angeht, nur eben mit viel Overhead:
In Javascript bekommst du das mit document.body.innerText, das du oben ja schon verwendet hast. Das kannst du dann mit EvaluateJavaScript auswerten, musst das dann aber auch zurückgeben und nicht in eine Variable schreiben. Du kannst das auch direkt bekommen, aber das ist relativ umständlich und funktioniert dann nur unter Android, deshalb zeige ich lieber einen einfachen Weg, auch wenn der nicht optimal ist.
Beispiel:
Delphi-Quellcode:
procedure TForm287.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('
https://www.with-is-bad.de');
end;
procedure TForm287.Button2Click(Sender: TObject);
begin
WebBrowser1.EvaluateJavaScript('
document.location = "source://" + encodeURIComponent(document.documentElement.outerHTML);');
end;
procedure TForm287.WebBrowser1ShouldStartLoadWithRequest(ASender: TObject;
const URL:
string);
begin
if URL.StartsWith('
source://')
then
begin
ShowMessage(TNetEncoding.URL.Decode(
URL.Substring(9)));
WebBrowser1.Stop;
end;
end;
Ich habe mal zum Test einfach mit D6 und dessem TWebBrowser (Ja, der URALT IE)!
Das hat leider nichts mit dem Thema zu tun. Es geht um Android.