IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

créer une boucle pour capture ecran sites


Sujet :

Python

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2021
    Messages : 2
    Par défaut créer une boucle pour capture ecran sites
    Bonjour,

    Je débute sur python depuis quelques heures. J'ai un code pour faire une capture de fenetre chrome.
    Je lui donne l'url du site et il fait la capture. Sauf que je voudrais faire une boucle pour lui envoyer les url et qu'il exécute le code pour la capture a chaque fois. Sauf qu'après l'avoir fait une première fois il s'arrête.

    J'ai mi mon fichier en pièce jointe ("test.py").

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 589
    Par défaut
    Salut,

    Citation Envoyé par Mrlbrd Voir le message
    Je débute sur python depuis quelques heures. J'ai un code pour faire une capture de fenetre chrome.
    Votre boucle se résume à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        for ligne in lire:
            ...
            name = ligne[0]
            ...
            print(name)
            if not name == 'Nom':
                 ...
            else:
                print('First ligne')
    Si vous ne voyez s'afficher qu'une fois le résultat du print(name), c'est que le fichier ne contient qu'une ligne (ou que vous avez rencontré une autre erreur qui arrête le programme).

    Pour le reste, si vous ne voulez pas passer un peu de temps pour apprendre à programmer (et savoir lire le code que vous récupérez sur Internet) vous n'allez arriver à rien.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2021
    Messages : 2
    Par défaut
    Bonjour wiztricks,

    En effet, ma boucle ce résume à ceci.
    Merci pour vos conseils, j'avais cependant déjà pris les devants avant de poster un message sur ce forum.
    J'ai donc vérifier ce que me retourné ma boucle et elle me retourne bien 159 valeur.

    J'aimerai juste comprendre quels morceaux du code provoque l'arrêt.

    Je vous remercie

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 589
    Par défaut
    Citation Envoyé par Mrlbrd Voir le message
    J'ai donc vérifier ce que me retourné ma boucle et elle me retourne bien 159 valeur.
    Si le fichier contient 159 lignes, au moins 159 lignes afficheront le name récupéré à chaque itération... et la boucle fonctionne.

    Citation Envoyé par Mrlbrd Voir le message
    J'aimerai juste comprendre quels morceaux du code provoque l'arrêt.
    Si la boucle fonctionne, elle s'arrêtera lorsqu'il n'y a plus de lignes à lire.
    Après si elle ne fait pas ce que vous attendez, c'est que la partie que j'ai zappée avec des '....' est à revoir.

    Normalement, tester un tas d'instructions qui dépendent de paramètres se fait en écrivant une fonction qu'on pourra tester avec quelques valeurs significatives. Lorsque ça marche, on pourra appeler la fonction depuis une boucle...

    Après si vous voulez programmer sans avoir appris le b.a.ba de la programmation... c'est votre problème.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 157
    Par défaut
    hello,
    Citation Envoyé par Mrlbrd Voir le message
    J'aimerai juste comprendre quels morceaux du code provoque l'arrêt.
    Je vous remercie
    il me semble que tu as voulu assembler 2 bouts de code pris à droite , à gauche et cela peut s'avérer non fonctionnel :
    Dans ton script test.py tu utilises une unité de test et en plus tu définis une classe pendant l'exécution du code principal : houla ! cela s'avère dangereux et imprévisible. Il faut simplifier cette partie et revenir à des choses simples comme par exemple ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    import util
    import csv
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
     
     
    countNbLigne = 0
    options = Options()
    options.add_argument("--user-data-dir=D:\\Temp\\chrome") #Path to your chrome profile
    driver = webdriver.Chrome(options=options)
    driver.set_window_size(1080, 920)
    with open('tableau.csv',newline='') as f:     
        lire=csv.reader(f)
        print(type(lire))
        for ligne in lire:
            link = ligne[5]
            name = ligne[0]
            countNbLigne = countNbLigne + 1
            print(name)
            if not name == 'Nom':
                ''' Generate document-height screenshot '''
                url = link
                driver.get(url)
                util.fullpage_screenshot(driver, (".\screenshot\screen" + str(countNbLigne) + 
                                                    "-python-" + name + ".png"))
            else:
                print('First ligne')
    driver.quit()
    l'option ajoutée dans le driver permet de mémoriser le cache , les cookies pour éviter d'avoir à chaque lancement l'acceptation des cookies.
    En pièce jointe un fichier zip contenant les scripts test.py et util.py ainsi qu'un fichier tableau.csv qui permet de faire une capture d'écran des principaux sous-forums du forum python de developpez.
    Ami calmant, J.P
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 12
    Dernier message: 25/11/2013, 11h10
  2. créer une boucle pour x et y
    Par timtof2011 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/09/2011, 03h59
  3. [XL-2007] Créer une boucle pour copie des tableaux de plusieurs feuilles sur une seule
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/09/2009, 18h12
  4. Réponses: 3
    Dernier message: 12/06/2007, 14h47
  5. Réponses: 21
    Dernier message: 23/05/2007, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo