Einzelnen Beitrag anzeigen

wschrabi

Registriert seit: 16. Jan 2005
437 Beiträge
 
#1

Extraktion von REGEX von WebPage mit TEdgeBrowser bzw. WebView

  Alt 9. Okt 2021, 11:09
Hallo Freunde, ich habe das hier WebView und die dazu nötige JSON Library JSON LIbrary (Für Delphi RAD Berlin 10.2) und ich kann die HMTL Seite mit diesem Codeteil sichern. (Refernce: FAQ )
Delphi-Quellcode:

        procedure TFormMain.Button1Click(Sender: TObject);
        begin
        browsermain.formmain.webview.ExecuteScript('document.documentElement.outerHTML',
          procedure (const JsonResult: string)
          var Json: TJson;
          begin
            with TJsonParser.Create do
            try
              Json := ParseUtf8(JsonResult);
              try
                htmlmemo.Text:=(Json as TJsonString).Value;
                htmlmemo.Lines.SaveToFile(System.IOUtils.TPath.GetTempPath+'PubChem_html.txt');
                
                //ShowMessage((Json as TJsonString).Value);
              finally
                Json.Free;
              end;
            finally
              Free;
            end;
          end);
        
        end;
Es schaut so aus, dass meine Zielwebsite wie dieses hier https://pubchem.ncbi.nlm.nih.gov/#query=MES [ https://pubchem.ncbi.nlm.nih.gov/#query=MES] macht vorher die Ausführung des JS bei der Anzeige der Seite im WebView (= TEdgeBrowser) aber mein gespeichertes HTML-File ist VOR Ausführung.

Meine Frage wäre , wie kann ich diesen regulären Ausdruck [0-9]+\-[0-9][0-9]\-[0-9] für die `CAS-REGISTRY-Number` vom `COMPOUND BEST MATCH` Titel Zeile ( in Blau hier ) mit meiner Anfrage ( Hier zB. MES als `query-compound-name` ) ?
Das Ergebnis hier in diesem Beispiel sollte sein: 4432-31-9

Ich glaube es sollte die WebPage zuerst mit dem JS ausgeführt werden und dann weiter untersucht werden.

Weiß wer hier einen Rat?
Ich bin dankbar für jeden brauchbaren Vorschlag, Idee und Lösung.

Danke
W
  Mit Zitat antworten Zitat