Leggi e analizza il contenuto della finestra del browser web<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />come parte di un'applicazione JMP personalizzata più grande, ho uno script JMP che apre una finestra con una casella del browser Web che chiama un sito web interattivo.
Dopo alcuni clic dell'utente e l'invio di un modulo, viene caricata la pagina Web (dinamica) risultante e sono disponibili i dati necessari. (non c'è AJAX o simili, quindi il semplice codice HTML della pagina web contiene tutto ciò di cui ho bisogno) ma sfortunatamente non riesco a trovare un modo per leggere e analizzare l'HTML del "corrente contenuto del browser web".
Non posso aggirarlo con la "funzione aperta" in quanto non riesco ad accedere alla pagina Web dei risultati direttamente con un URL. La pagina giusta viene caricata solo dopo che un modulo è stato inviato con il metodo POST e un file caricato sul server tramite il modulo della pagina web originale.
Non ho il controllo sulla personalizzazione di questa applicazione server e ho bisogno di lavorare l'analisi dell'HTML finale.
Al momento visualizzo i risultati nel browser Web, ma in seguito devo eseguire ulteriori azioni in JMP.
Se non sto manipolando direttamente con l'HTML, mi piacerebbe come minimo creare un diario o qualcosa che mi permetta di usare il contenuto del browser web in un rapporto più grande in grado di archiviare i risultati in un formato leggibile da JMP senza la necessità di rieseguire il server routine
Grazie
Ri: Leggi e analizza il contenuto della finestra del browser webSe il sito web utilizza una richiesta HTTP GET o HTTP, puoi semplicemente aggiungere le informazioni alla fine dell'URL, ad esempio: URL ? Nome1 = valore1 & nome2 = valore2
Questo metodo è molto più semplice ma suppongo che non sia così b / c hai detto direttamente che era un POST HTTP. Utilizzando JMP avrai bisogno di usare le funzioni del socket. Qualcosa di simile a:
tCall << connect ("URL", "80"); // Connessione aperta, 80 è socket e l'URL è auto-esplicativo
tCall << Invia (Char To Blob ("POST / HTTP / 1.0 ~ 0d ~ 0a ~ 0d ~ 0a", "ASCII ~ HEX")); // quello che mandi
tMessage = tCall << Recv (1000); // cosa torni indietro
text = Blob To Char (tMessage [3]); // parse
Mostra (testo);
tCall << Chiudi (); // chiudi connessione
Senza ulteriori informazioni questo è il massimo in cui posso aiutarti. L'utilizzo di questi comandi può risultare fangoso, ma per ulteriori informazioni è possibile utilizzare la sezione Guida allo scripting "Utilizzo di socket in JSL".
Ri: Leggi e analizza il contenuto della finestra del browser webmsharp, Grazie per la risposta, sapresti come JMP può inviare una richiesta HTTP in POST con un file allegato senza la casella del browser?
Se sì, come memorizza la risposta del server?
Ri: Leggi e analizza il contenuto della finestra del browser webHo avuto problemi simili. Da quello che posso dire la scatola del browser web è davvero più per la visualizzazione che per l'interazione.
JMP ha capacità di interagire con il web, suggerirei di creare una GUI JMP identica a quella che l'utente vedrebbe sul web. Usa le informazioni per creare un file di testo o qualcosa che puoi usare per fare ciò che devi fare.