Page 1 of 1

recuperer un copier coller dans une variable

Posted: 06 Mar 2017, 20:34
by francois
Bonjour,

Exemple de récupération d'un copier coller dans une variable

Ici on veut récupérer le nom du membre le plus récent figurant dans le forum Actiona :
1.jpg
1.jpg (18.89 KiB) Viewed 3613 times
Dans actiona

1) charger la page https://jmgr.net/forum/

2) via une action code, faire un copier coller de cette page

Code: Select all

var clavier= new Keyboard();
var souris=new Mouse()
var presse_papier=new Clipboard();


//=========================
//=> Se positionner sur zone à copier ( utile si plusieurs frames)
//=========================
var se_positionner = new Point(500,500);
souris.move(se_positionner);
souris.click();


//=========================
//=> Cntl A : selectionner toute la zone selectionnée
//=========================
Execution.pause(200)
clavier.pressKey("controlLeft");
Execution.pause(200)
clavier.triggerKey("A");
Execution.pause(200)
clavier.releaseKey("controlLeft");
//=========================



//=========================
//=> Cntl C : Tout copier
//=========================
Execution.pause(200);
clavier.pressKey("controlLeft");
clavier.triggerKey("C");
clavier.releaseKey("controlLeft")
//=========================


//=========================
//=> Récupérer le clipboard
//=========================
Execution.pause(300);
presse_pap =presse_papier.text;
//=========================
3) Via une action code, chercher et restituer le nom du membre le + récent

Code: Select all

zone_1= "Notre membre le plus récent est";

fin_ligne =String.fromCharCode(10);
t_lignes =presse_pap.split(fin_ligne);

for (i=0;i<t_lignes.length;i++)
{ 
       pos_1 = t_lignes[i].search(zone_1)	;

       if  (pos_1 >= 0  )
       {
       pos_2= pos_1 + zone_1.length +1;
      	membre_recent =  t_lignes[i].substr(pos_2).trim()  ;
        break;                 
       };
};

if (typeof membre_recent === 'string')
{
 Console.print( "membre le + récent : " + membre_recent) ;   
}
else
{
 Console.print("pas trouvé") ;   
}


Re: recuperer un copier coller dans une variable

Posted: 13 Apr 2017, 13:22
by MDLE46
Bonjour François,


Super ce script pour localiser et récupérer une valeur en fin de ligne.

Mais, si ce n'est pas trop compliqué, serait il possible de récupérer cette valeur, et uniquement cette valeur si elle n'est pas en fin de ligne (une valeur de x caractères ou dans un champ qui serait dans une ligne, mais pas nécessairement en fin de ligne).

Ce qui nous permettrait de récupérer une valeur qui serait positionner n'importe ou dans une page (sauf en début de ligne car on ne pourrait pas localiser).

Cordialement.

Re: recuperer un copier coller dans une variable

Posted: 13 Apr 2017, 17:10
by francois
Bonjour,

Si on veut par exemple récupérer une portion de ligne à partir de la position 12 sur une longueur de 8,
Il suffit de changer la ligne :
membre_recent = t_lignes.substr(pos_2).trim() ;
Et à la place
decoupage = t_lignes.substr(12-1,8).trim() ;

( Dans le script, changer partout membre_recent par decoupage )

Re: recuperer un copier coller dans une variable

Posted: 13 Apr 2017, 23:38
by MDLE46
Re-bonjour François,

Et Merci. Ce script va me drôlement me simplifier la vie.

De plus, avec ce script, on peut récupérer une donnée dans un texte même si elle est en début de ligne car on localise la ligne avec un groupe de mots, et on détermine la donnée à récupérer avec la position sur la ligne et une longueur de caractères.

Impeccable.

Mais, j'ai bataillé. Sur ton post, les contenus entre crochets n'apparaissent pas (sûrement un bug du site).


Après tâtonnements (au pif), j'ai modifié

decoupage = t_lignes.substr(12-1,8).trim() ;

en

decoupage = t_lignes crochet ouvert i crochet fermé .substr(12-1,8).trim() ;

avec t_lignes crochet ouvert i crochet fermé.substr(12-1,8).trim() tout se tient, sans espaces ; les espaces sont là pour la lisibilité et la compréhension.


et ça fonctionne impec.

Ah que chercher, j'aime ça; Et à 55 ans, ça fait travailler les méninges.

Encore merci.

Cordialement.

Re: recuperer un copier coller dans une variable

Posted: 14 Apr 2017, 06:57
by francois
Bonjour,

Ce n'est pas un bug du site mais une étourderie de ma part, il faut - comme tu l'as corrigé - écrire :

Code: Select all

decoupage = t_lignes[i].substr(12-1,8).trim() ;
De plus, avec ce script, on peut récupérer une donnée dans un texte même si elle est en début de ligne car on localise la ligne avec un groupe de mots, et on détermine la donnée à récupérer avec la position sur la ligne et une longueur de caractères.
C'est exactement cela. Pour éviter les erreurs, ne pas hésiter à bien préciser le(les) critère(s) de recherche pour trouver la bonne ligne.


Cordialement