Partage
  • Partager sur Facebook
  • Partager sur Twitter

Executer un script sans ouvrir de fenêtre

Python 3.10.5 sur Mac

Sujet résolu
    2 septembre 2022 à 12:03:24

    Bonjour à tous,

    j'ai un petit code qui utilise la librairie Chromedriver pour controler Chrome. Quand je l'execute il ouvre une fenêtre Chrome et se connecte à un site en cliquant et remplissant des champs.

    Seulement je voudrais pouvoir l'exécuter "en arrière plan", pour que seul le résultat s'affiche, sans autre fenêtre. (actuellement je l'exécute avec IDLE)

    De plus (mais ça c'est des finitions) ce serait encore mieux si je pouvais lui faciliter l'accès, par exemple avec un raccourci clavier ?

    Merci beaucoup de vos réponses

    Gaspard

    • Partager sur Facebook
    • Partager sur Twitter
      2 septembre 2022 à 12:31:48

      en arrière plan, c'est fenêtre réduite ou sans fenêtre ?

      En fenêtre réduite:

      driver.minimize_window()

      Sans fenêtre, c'est le mode headless

      from selenium import webdriver   # for webdriver
      from selenium.webdriver.support.ui import WebDriverWait  # for implicit and explict waits
      from selenium.webdriver.chrome.options import Options  # for suppressing the browser
      option = webdriver.ChromeOptions()
      option.add_argument('headless') #si ça ne marche pas, mettre '--headless' à la place
      driver = webdriver.Chrome('path/to/chromedriver',options=option)



      • Partager sur Facebook
      • Partager sur Twitter
        2 septembre 2022 à 12:59:07

        umfred a écrit:

        en arrière plan, c'est fenêtre réduite ou sans fenêtre ?

        En fenêtre réduite:

        driver.minimize_window()

        Sans fenêtre, c'est le mode headless

        from selenium import webdriver   # for webdriver
        from selenium.webdriver.support.ui import WebDriverWait  # for implicit and explict waits
        from selenium.webdriver.chrome.options import Options  # for suppressing the browser
        option = webdriver.ChromeOptions()
        option.add_argument('headless') #si ça ne marche pas, mettre '--headless' à la place
        driver = webdriver.Chrome('path/to/chromedriver',options=option)



        Merci pour ta réponse, je voulais dire sans fenêtre.. J'ai essayé les deux : enfait j'arrive à réduire la fenêtre chrome :lol: .. donc pas fou. Et headless n'a pas marché... Enfait je crois que le problème est dans "l'executeur", puisque de toute façon il faut que j'ouvre le fichier puis que je l'execute...

        N'y aurait-il pas un moyen plus élementaire de l'exécuter ? (par un terminal ou je ne sais quoi ? je n'y connais rien là dedans..)

        merci

        • Partager sur Facebook
        • Partager sur Twitter
          2 septembre 2022 à 14:06:52

          Selenium doit ouvrir chrome pour interagir avec. Tu as essayé avec '--headless' comme indiqué en commentaire ? 

          Tu dois pouvoir lancer le script python par un double clic sur le fichier (si le chemin vers python est présent dans le PATH)

          • Partager sur Facebook
          • Partager sur Twitter
            2 septembre 2022 à 22:08:18

            umfred a écrit:

            Selenium doit ouvrir chrome pour interagir avec. Tu as essayé avec '--headless' comme indiqué en commentaire ? 

            Tu dois pouvoir lancer le script python par un double clic sur le fichier (si le chemin vers python est présent dans le PATH)


            Oui oui mais je veux que la fenetre chrome s'ouvre, mais je veux pas voir s'afficher de python (ni code ni "shell"), et oui j'ai essayé '--headless' mais rien..

            Et ça veut dire quoi "le chemin python dans le PATH" ?? C'est vrai que tout ça m'est bien flou.. 

            • Partager sur Facebook
            • Partager sur Twitter
              5 septembre 2022 à 17:10:53

              quand tu tapes python (ou py) dans une invite de commande (à n'importe quel emplacemen), si tu rentres dans l'interpréteur python c'est bon python est dans le PATH (PATH est la variable d'environnement dans lequel windows/invite de commande va chercher les exe des lignes de commandes).
              Et donc en double-cliquant sur un fichier python ça lance directement le script (ça joue aussi/surtout avec l'association de l'extension .py avec l'application python)

              Sinon , changer l'extension du script en .pyw ou lieu de .py, et ça devrait être bon.
              • Partager sur Facebook
              • Partager sur Twitter
                5 septembre 2022 à 22:35:52

                D'accord ok.. mais comment ça "à n'importe quel emplacement" ? Le terminal c'est des commandes locales ?

                Sinon j'ai rentré "python" dans le temrinal et j'ai eu ça :

                Je sais pas si c'était ce qui était attendu mais ensuite j'ai essayé de double-clilquer et avec .py ou .pyw ça donnait toujours pareil.. J'ai peut etre mal compris quelque chose.. :/

                • Partager sur Facebook
                • Partager sur Twitter
                  6 septembre 2022 à 12:15:26

                  je n'avais pas vu que tu étais sur Mac :honte:; sur Mac, pas sûr que ce soit possible de masquer la fenêtre.

                  -
                  Edité par umfred 6 septembre 2022 à 12:15:36

                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 septembre 2022 à 18:14:19

                    AH !.. Mince, merci quand même !!
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 septembre 2022 à 19:50:38

                      Au final si y en a que ça intéresse j'ai simplement lu la documentation python sur Mac (comme quoi patience et longueur de temps font plus que force ni que rage) et pour exécuter un script à l'ouverture du fichier il faut (et il suffit !) de l'ouvrir avec Python Launcher (en le réglant par défaut) et puis voilà.

                      Par contre pour les fenêtres qui s'ouvrent j'y travaille 😩 j'utilise à la fois Raccourcis pour ouvrir le fichier et pour quitter les applications après, et Pyautogui pour controler le clavier et la souris.

                      voili voilou

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Executer un script sans ouvrir de fenêtre

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      • Editeur
                      • Markdown