Lesen und parsen Sie den Inhalt der Webbrowser-Box<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Als Teil einer umfangreicheren benutzerdefinierten JMP-Anwendung habe ich ein JMP-Skript, das ein Fenster mit einem Webbrowser-Fenster öffnet, in dem eine interaktive Website aufgerufen wird.
Nach einigen Benutzer-Klicks und dem Senden eines Formulars wird die resultierende (dynamische) Webseite geladen und die erforderlichen Daten stehen zur Verfügung. (Es gibt kein AJAX oder ähnliches, daher enthält der reine HTML-Code alles, was ich brauche.) Leider kann ich keinen Weg finden, den HTML-Code des "aktuellen Webbrowser-Inhalts" zu lesen und zu analysieren.
Ich kann es nicht mit der "open" -Funktion umgehen, da ich nicht direkt mit einer URL auf die Ergebnisseite zugreifen kann. Die rechte Seite wird nur geladen, nachdem ein Formular mit der POST-Methode gesendet und eine Datei über das ursprüngliche Webseitenformular auf den Server hochgeladen wurde.
Ich habe keine Kontrolle über das Anpassen dieser Serveranwendung, und ich muss das endgültige HTML analysieren.
Im Moment zeige ich die Ergebnisse im Webbrowser an, aber danach muss ich weitere Aktionen in JMP ausführen.
Wenn ich nicht direkt mit HTML herumspiele, möchte ich zumindest ein Journal erstellen oder etwas, das es mir ermöglicht, den Inhalt des Webbrowsers in einem größeren Bericht zu verwenden, der Ergebnisse in einem JMP-lesbaren Format speichern kann, ohne dass der Server erneut ausgeführt werden muss Routine
Vielen Dank
Re: Lesen und parsen Sie den Inhalt der Webbrowser-BoxWenn die Website HTTP GET oder HTTP REQUEST verwendet, können Sie die Informationen einfach am Ende der URL anhängen, zum Beispiel: URL name1 = wert1 & name2 = wert2
Diese Methode ist viel einfacher, aber ich gehe davon aus, dass dies nicht der Fall ist, weil Sie direkt sagten, es sei ein HTTP-POST. Verwendung von JMP Sie müssen die Socket-Funktionen verwenden. So etwas wie:
tAnruf << verbinden ("URL", "80"); // Offene Verbindung, 80 ist Socket und URL ist selbsterklärend
tAnruf << Senden (Zeichen an Blob ("POST / HTTP / 1.0 ~ 0d ~ 0a ~ 0d ~ 0a", "ASCII ~ HEX")); //was Sie senden
tMessage = tCall << Recv (1000); // was bekommst du zurück?
text = blob zum Zeichen (tMessage [3]); // analysieren
Anzeigen (Text);
tAnrufen << Schließen (); //Verbindung schließen
Ohne weitere Informationen kann ich Ihnen am besten helfen. Die Verwendung dieser Befehle kann matschig werden. Weitere Informationen finden Sie im Scripting-Abschnitt "Sockets in JSL verwenden".
Re: Lesen und parsen Sie den Inhalt der Webbrowser-BoxMsharp, vielen Dank für Ihre Antwort. Können Sie wissen, wie JMP eine HTTP-Anforderung mit angehängter Datei in POST ohne die Browser-Box senden kann?
Wenn ja, wie speichert er die Serverantwort?
Re: Lesen und parsen Sie den Inhalt der Webbrowser-BoxIch hatte ähnliche Probleme. Von dem, was ich sagen kann, ist die Webbrowser-Box wirklich mehr für die Anzeige als für die Interaktion.
JMP bietet Funktionen für die Interaktion mit dem Web. Ich würde vorschlagen, eine JMP-GUI zu erstellen, die identisch ist mit der, die der Benutzer im Web sehen würde. Verwenden Sie die Informationen, um eine Textdatei zu erstellen, oder etwas, mit dem Sie dann das tun können, was Sie tun müssen.