<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actiona" version="3.10.0" scriptVersion="1.1.0" os="Windows"/>
    <actions>
        <action name="ActionCode" version="1.0.0"/>
        <action name="ActionKey" version="1.0.0"/>
        <action name="ActionGoto" version="1.0.0"/>
        <action name="ActionOpenURL" version="1.0.0"/>
        <action name="ActionPixelColor" version="1.0.0"/>
    </actions>
    <parameters/>
    <resources/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionCode" comment="init" color="#00ff00">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">
//= = = = = = = = = = = =
// A parametrer
//= = = = = = = = = = = =

URL = &quot;http://autour-de-wanquetin.com/divers/recup_donnees.php&quot;

prefixe_nom_page =  &quot;recup_donnees&quot;;  
// souvent égal à URL ( sauf si la page a un 'TITLE')
// ( sera utilisé pour tester le chargement effectif de la page)



repertoire_W = &quot;c:/temp/AA&quot;; // ou est placé le script
fichier_log = &quot;recup_donnees.txt&quot;   // dans repertoire_W
                
texte_avant =&quot;Nombre de visiteurs&quot;;  // mettre à &quot;&quot; si rien avant
texte_apres = &quot;(nombre aleatoire)&quot;;  // mettre à &quot;&quot; si rien après


duree_JOB= 20 // en secondes
intervalle_refresh_page =2 // en secondes

temps_maxi_chargement_page =10 // en secondes

//= = = = = = = = = = = =
// FIN : A parametrer
//= = = = = = = = = = = =

//= = = = = = = = = = = =
test=0 
date_actuelle= new Date()
date_fin = new Date(date_actuelle.getTime() + 1000 *  duree_JOB );

var fich_out = new File();
fichier_out = repertoire_W + &quot;/&quot; + fichier_log

//= = = = = = = = = = = =


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

</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" comment="verif page non chargée" color="#00ff00">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">var windows = Window.find({
title:  prefixe_nom_page + &quot;*&quot;,
titleMode: Window.Wildcard
});	


if ( windows.length &gt; 0){
	Console.print(&quot;La page ne doit pas etre chargée&quot;);
	Execution.stop();
}</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" label="boucle" comment="test / date fin" color="#002f16">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">

if   (date_actuelle &gt; date_fin){
Script.nextLine = &quot;fin&quot;;
}

 



 
</subParameter>
            </parameter>
        </action>
        <action name="ActionOpenURL" color="#eaeaea">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="url">
                <subParameter name="value" code="0">$URL</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" comment="Test chargement page" color="#ffffff">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">nb_windows = 0
temps_cumule = 0;

while (nb_windows == 0){

	if (temps_cumule &gt;temps_maxi_chargement_page*1000){
          Console.print(&quot;Page  non chargée apres &quot;  + temps_maxi_chargement_page + &quot; secondes&quot;)
          Execution.stop()
    } 
var window= Window.find({
   title:prefixe_nom_page + &quot;*&quot;,
  titleMode: Window.Wildcard
});	
 nb_windows	= window.length
 
 temps_cumule =   temps_cumule+300;
Execution.pause(300)
}	

window[0].setForeground();
</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" comment="Copier Coller + recup zone" color="#eaeaea">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">


//=========================
//=&gt; Cntl A
//=========================
Execution.pause(200)
clavier.pressKey(&quot;controlLeft&quot;);
Execution.pause(200)
clavier.triggerKey(&quot;A&quot;);
Execution.pause(200)
clavier.releaseKey(&quot;controlLeft&quot;);
//=========================



//=========================
//=&gt; Cntl C
//=========================
Execution.pause(200);
clavier.pressKey(&quot;controlLeft&quot;);
clavier.triggerKey(&quot;C&quot;);
clavier.releaseKey(&quot;controlLeft&quot;)
//=========================




//=========================
//=&gt; Recupérer le clipboard
//=========================
Execution.pause(500);
presse_pap =presse_papier.text;
Execution.pause(500);
//   Console.print(presse_pap)
 

switch (true) {
case texte_avant ==&quot;&quot; :
    pos1=0;
    break;

case presse_pap.indexOf(texte_avant) &gt; -1 :
     pos = presse_pap.indexOf(texte_avant)
     pos1 =  pos + texte_avant.length 
     break;

default :
   Console.print(&quot;texte_avant non trouvé&quot;)
   Execution.stop()
} 



switch (true) {
case texte_apres ==&quot;&quot; :
    pos2=presse_pap.length;
    break;

case pos2= presse_pap.indexOf(texte_apres,pos1) &gt;-1  :
     pos2 = presse_pap.indexOf(texte_apres)
      break;

default :
   Console.print(&quot;texte_apres non trouvé&quot;)
   Execution.stop()
} 

zone =presse_pap.substring(pos1+1, pos2)

zone=zone.trim();
// Console.print( &quot;&gt;&quot; + presse_pap + &quot;&lt;&quot;)
//=========================





function f_date()
{
var ObjetDate = new Date(); 
AAAA = ObjetDate.getFullYear(); 

MM_  = ObjetDate.getMonth();MM_=MM_+1;MM= &quot;&quot; + MM_;
if (MM.length == 1){MM = &quot;0&quot; + MM};

jour_ = ObjetDate.getDate();
jour= &quot;&quot; + jour_; 
if (jour.length == 1){jour = &quot;0&quot; + jour};
zz= AAAA + &quot;-&quot; + MM + &quot;-&quot;  +  jour
return zz
} // fin fonction


function f_time()
{
var ObjetDate = new Date(); 

var hour = ObjetDate.getHours(); 
var minute =ObjetDate.getMinutes(); 
var second = ObjetDate.getSeconds(); 
zz= hour + &quot;:&quot; + minute + &quot;:&quot;  +  second
return  zz
} // fin fonction</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" comment="Ecrire dans fichier">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">//=========================
//=&gt; Ecrire dans le fichier out
//=========================

//=========================
//       On ouvre / traite /  ferme le fichier pour chaque ecriture
//       afin qu'en  cas de plantage toutes les infos soient dans ce fichier
//       (et pas dans les buffers)
//=========================
 


//=========================
//=&gt; Ecrire dans le fichier out
//=========================
Execution.pause(200);

fich_out.open(fichier_out,File.WriteOnly | File.Text | File.Append);

tt = f_date() + &quot;;&quot; + f_time() + &quot;;&quot;   +  zone + &quot;\n&quot;;
// Console.print(tt);
fich_out.writeText(tt);
fich_out.close();
//=========================


</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" comment="preparation iteration suivante" color="#eaeaea">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">
Execution.pause(intervalle_refresh_page * 1000)
date_actuelle= new Date()</subParameter>
            </parameter>
        </action>
        <action name="ActionKey" comment="Fermeture onglet" color="#ffffff">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <exception id="33" action="0" line=""/>
            <parameter name="action">
                <subParameter name="value" code="0">pressRelease</subParameter>
            </parameter>
            <parameter name="alt">
                <subParameter name="value" code="0">false</subParameter>
            </parameter>
            <parameter name="amount">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="ctrl">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="key">
                <subParameter name="isQtKey" code="0">true</subParameter>
                <subParameter name="key" code="0">W</subParameter>
            </parameter>
            <parameter name="meta">
                <subParameter name="value" code="0">false</subParameter>
            </parameter>
            <parameter name="pause">
                <subParameter name="value" code="0">10</subParameter>
            </parameter>
            <parameter name="shift">
                <subParameter name="value" code="0">false</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">win32</subParameter>
            </parameter>
        </action>
        <action name="ActionGoto" comment="retour iteration suivante" color="#002f16">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="line">
                <subParameter name="value" code="0">boucle</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" label="fin" comment="traitement fin">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">  fich_out.close();
  Console.print(&quot;traitement terminé&quot;)
  Execution.stop()  </subParameter>
            </parameter>
        </action>
        <action name="ActionPixelColor">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="blueTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="comparison">
                <subParameter name="value" code="0">equal</subParameter>
            </parameter>
            <parameter name="greenTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="ifFalse">
                <subParameter name="action" code="0">wait</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="ifTrue">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="pixel">
                <subParameter name="color" code="0">249:249:249</subParameter>
                <subParameter name="position" code="0">391:212</subParameter>
            </parameter>
            <parameter name="positionOffset">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="redTolerance">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
