recuperer un copier coller dans une variable

Tutos et exemples de scripts et de code
Post Reply
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

recuperer un copier coller dans une variable

Post 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 3485 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é") ;   
}

MDLE46
Posts: 108
Joined: 11 Nov 2016, 19:06

Re: recuperer un copier coller dans une variable

Post 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.
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: recuperer un copier coller dans une variable

Post 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 )
MDLE46
Posts: 108
Joined: 11 Nov 2016, 19:06

Re: recuperer un copier coller dans une variable

Post 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.
francois
Posts: 456
Joined: 18 Oct 2010, 10:33
Location: France

Re: recuperer un copier coller dans une variable

Post 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
Post Reply