Scrip parsing HTML

Bonjour,

J’ai une commande de type HTML qui marche parfaitement (c’est déjà top :grin:) mais qui me renvoie toujours la même valeur, même si le site web derrière a changé.
J’ai essayé de jouer avec le paramètre « Gestion de la répétition des valeurs » mais lors que je met « Toujours répéter » ou « Jamais répéter » ça va marcher une fois (juste après avoir changer la valeur) et toute les fois suivantes, la valeur sera de nouveau identique.

J’ai le même comportement sur ma 30aine de commande de type HTML ce qui 'oblige à modifier le paramètre « Gestion de la répétition des valeurs » à chaque fois que je veux lancer mon script qui exploite ces valeurs :unamused:

J’ai dû louper quelque chose, mais je vois pas où ?

Bonjour,

avec le code, les logs et le résultat se serait plus facile ?

Bonjour @NanakiFire

Comment votre script est-il exécuté?
image

Les paramètres "Gestion de la repetition des valeurs Toujours répéter … ne concernent que la façon dont les données sont historisés.

Bonjour @jpty

Merci pour ton aide, je comprend mieux le paramètre Toujours répéter.
Le script en lui même n’a pas d’exécution, c’est les commandes qui sont exécutées dans un scénario. En fait j’ai le souci même si j’utilise la commande Tester
image

La résultat est toujours identique et dès que je change la valeur de Toujours répéter, puis que je reclic sur tester, à ce moment là seulement j’ai la résultat avec la valeur actualisée.

Arg j’avais pas vu ta réponse @SWR, désolé.

Du coup, voilà un exemple simple avec le site : Current Local Time in Paris, Paris, France
et le script suivant :

Lorsque je clic sur le bouton « Tester », j’obtiens par exemple la valeur : « 16 h 56 m 07 ».
Mon souci est que j’ai beau cliquer sur « Tester » 10 secondes après, 2 minutes après, 1 heures après, peu importe, j’obtiens toujours la valeur « 16 h 56 m 07 » alors que le site/code source a lui bien été rafraîchi :thinking:

Bonjour @NanakiFire

Tester ne fait qu’afficher la valeur récupérée lors de la dernière exécution du script.
Si vous cliquez Sauvegarder (qui exécute le script) entre 2 Tester, il y aura bien une variation.

D’où ma question au dessus: qui exécute le script?

Ah ok, je ne connaissais pas cette subtilité du bouton Tester, merci @jpty !
Et du coup, mon erreur c’est peut être qu’effectivement je n’exécute jamais le script…

Dans un scénario, je fais juste ça :

$cmd = cmd::byString(« #[maCommandeDuScript]# »);
$dataBrut = $cmd->execCmd();

C’est donc là qu’il me manque quelque chose ?

Bonjour,

Oui, il manque l’exécution du script.
execCmd récupère la dernière valeur en cache.
Vous pouvez le vérifier en ajoutant dans votre scénario l’affichage de la valeur:

$cmd = cmd::byString("#[Test][test Html][Heure Tokyo]#");
$dataBrut = $cmd->execCmd();
$scenario->setLog('Donnée récupérée: ' .$dataBrut);

Il existe, associé au script, une action Rafraichir pour exécuter le script.

$cmd = cmd::byString("#[Test][test Html][Rafraichir]#");
$cmd->execCmd();

Yes, ça fonctionne !
Un grand merci @jpty :pray: c’était bien ça qu’il me manquait :+1:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.