Fonction send qui ne fonctionne pas à 100%

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 158
Enregistré le : lun. 13 août 2007 16:38
Localisation : Yvelines
Contact :
Status : Hors ligne

Fonction send qui ne fonctionne pas à 100%

#1

Message par corrs78 » jeu. 03 janv. 2019 17:05

Bonjour à toutes et tous, tout d'abord, meilleurs vœux à toute la communauté Fr d'Autoit :)

vous sauriez me dire pourquoi ce script ne fonctionne pas à tous les coups.
Concrètement si je tente d'ouvrir un onglet dans le navigateur Edge et que je tente de le fermer ensuite cela fonctionne que dans max 80% des cas. Et j'ai l'impression que plus j'ai d'onglets ouverts moins cela fonctionne.

Mon objectif est d'ouvrir plusieurs onglets (pages web avec url différentes) tous les jours, seulement lorsque je rouvre Edge, les onglets restent en mémoire, voilà pourquoi je souhaite les fermer après chaque ouverture afin de ne pas saturer la mémoire de l'ordinateur.
#include<Process.au3>

For $i=1 to 20
        sleep(1000)
        _RunDos("start microsoft-edge:https://www.bing.com/"&$i)
        sleep(1000)
        if $i > 1 Then send("^w") ; CTRL+W > raccourci clavier pour fermer un onglet sous Edge.
        $i = $i+1
Next
MsgBox(64,"","terminé",3)
Merci.

Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 368
Enregistré le : mer. 24 oct. 2007 21:42
Localisation : 56000
Status : Hors ligne

Re: Fonction send qui ne fonctionne pas à 100%

#2

Message par jl56 » jeu. 03 janv. 2019 19:29

Bonjour à tous

Meilleurs vœux pour 2019 santé bonheur à tous et à vos proches

@corrs78

En lisant ton code tu as une boucle For next avec $i
et dans la boucle tu as une itération $i=$i + 1
je pense déjà que tu dois faire un choix
Idem pour le test $i ne sera jamais <1 car tu indiques dans la ligne FOR de 1 à 20
le test est inutile

Je n'ai pas testé la fermeture des onglets

A+

JL56

Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 158
Enregistré le : lun. 13 août 2007 16:38
Localisation : Yvelines
Contact :
Status : Hors ligne

Re: Fonction send qui ne fonctionne pas à 100%

#3

Message par corrs78 » jeu. 03 janv. 2019 21:01

Pour le I faut bien incrémenter pour avancer dans la boucle non ?!
Pour le if c'est une erreur en effet car à la base j'avais mis cette ligne au début pour éviter de fermer un onglet pas encore créé.

Bon cela dit ça n'explique pas le fonctionnement aléatoire. Parfois c'est 100% parfois 90 ou beaucoup moins.

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11447
Enregistré le : ven. 20 juil. 2007 20:00
Localisation : Bordeaux
Status : Hors ligne

Re: Fonction send qui ne fonctionne pas à 100%

#4

Message par Tlem » jeu. 03 janv. 2019 21:46

Pour le I faut bien incrémenter pour avancer dans la boucle non ?!
C'est déjà le rôle de la boucle For/Next, du coup, si vous rajoutez une incrémentation "manuelle", celle-ci ne sert à rien. ^^

Si vous tenez à conserver votre incrémentation manuelle, remplacez la boucle For/Next par une boucle infinie While/Wend.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 158
Enregistré le : lun. 13 août 2007 16:38
Localisation : Yvelines
Contact :
Status : Hors ligne

Re: Fonction send qui ne fonctionne pas à 100%

#5

Message par corrs78 » jeu. 03 janv. 2019 22:01

Merci pour ces précisions.

Répondre