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 :

Jongler entre les onglets d'un navigateur web


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Par défaut Jongler entre les onglets d'un navigateur web
    Bonjour à tous,

    Étant un véritable débutant en Python, je me tourne vers vous afin de m'assurer si ce que je souhaite réaliser est possible et si oui, par quel moyen.

    Je souhaiterai réaliser une petite application permettant d'ouvrir un navigateur web en plein écran avec deux onglets et qui "switchera" entre les onglets toutes les minutes. Dans mon entreprise nous ne possédons qu'un seul écran de monitoring et cela nous permettrait d'avoir une vue d'ensemble de nos divers client.

    La partie qui me pose problème est celle pour jongler entre les différents onglets d'un navigateur. En effet, le module "webbrowser" semble assez limité et en me renseignant sur "selenium", cela me parraît assez complexe et peut-être surdimensionné pour cet action. Pouvez-vous me conseiller un module/librairie ou autre moyen pour effectuer cette opération ?

    Merci d'avance

    P.S. Je sais pas si j'ai ouvert le topic dans la bonne catégorie du site, j'ai hésité avec "Réseau/Web"

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Connais-tu Qt et ses bindings pour Python PyQt et PySide ?

    Qt est un framework donnant des outils dans tout un tas de domaines. Tu peux créer des interfaces graphiques et des widgets pour créer des pages à onglets existent déjà. Il possède également un module WebKit pour afficher des pages internet. Enfin, il possède des timers pour déclencher périodiquement des actions. Bref, tout ce dont tu as besoin pour ton application.

    Inconvénient : il faut installer un module supplémentaire assez volumineux.

    Si cela ne te dérange pas, Qt me semble une bonne solution.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Par défaut
    Bonjour Bktero et merci pour ta réponse,

    Connais-tu Qt et ses bindings pour Python PyQt et PySide ?
    De nom uniquement.

    Qt est un framework donnant des outils dans tout un tas de domaines. Tu peux créer des interfaces graphiques et des widgets pour créer des pages à onglets existent déjà. Il possède également un module WebKit pour afficher des pages internet. Enfin, il possède des timers pour déclencher périodiquement des actions. Bref, tout ce dont tu as besoin pour ton application.
    En fait, je pensais à Tkinter pour la partie graphique et vraiment utiliser le navigateur par défaut du système si possible. Peut-être que c'est tout simplement impossible et je devrais me tourner vers PyQT et PySide.

    Inconvénient : il faut installer un module supplémentaire assez volumineux.
    Ça ne m'arrange pas spécialement, mais ce n'est pas un problème

    Je ne sais pas vraiment ce que je vais faire. Il semble que "piloter" le navigateur web par défaut d'un système soit plus compliqué que je ne le pensais. Mais si c'est possible, je pense que ça serait la solution la plus simple et la plus légère.

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Je trouvais le sujet intéressant alors j'ai codé une application minimaliste qui switche entre deux pages Internet :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import sys
    from PyQt4 import QtCore, QtGui, QtWebKit
     
    class Browser(QtGui.QTabWidget):
        def __init__(self, parent=None):
            super(Browser, self).__init__(parent)
     
            # Deux pages dans deux onglets
            page1 = QtWebKit.QWebView()
            page1.load(QtCore.QUrl("http://www.developpez.com/"));
     
            page2 = QtWebKit.QWebView()
            page2.load(QtCore.QUrl("http://www.google.com/"));
     
            self.addTab(page1, "Developpez")
            self.addTab(page2, "Google")
     
            # Creation du timer
            self.timer = QtCore.QTimer();
            self.timer.timeout.connect(self.switchTab)
            self.timer.start(3000);
     
        def switchTab(self):
            curIndex = self.currentIndex()
            if curIndex == 0 :
                self.setCurrentIndex(1)
            else :
                self.setCurrentIndex(0)
     
        def main(self):
            self.show()
     
    if __name__=='__main__':
        app = QtGui.QApplication(sys.argv)
        nav = Browser()
        nav.main()
        app.exec_()
    Il suffit d'avoir Python 2.7 et PyQt4 d'installés pour la faire fonctionner

  5. #5
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Ou sinon, une petite page web avec un tout petit javascript qui switch entre les deux pages à afficher… Mais c’est vrai, pourquoi faire simple quand…

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Citation Envoyé par mont29 Voir le message
    Ou sinon, une petite page web avec un tout petit javascript qui switch entre les deux pages à afficher… Mais c’est vrai, pourquoi faire simple quand…
    +1
    Cela correspond parfaitement au besoin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    une petite application permettant d'ouvrir un navigateur web en plein écran avec deux onglets et qui "switchera" entre les onglets toutes les minutes. Dans mon entreprise nous ne possédons qu'un seul écran de monitoring et cela nous permettrait d'avoir une vue d'ensemble de nos divers client.
    Dans le sens
    Dans mon entreprise nous ne possédons qu'un seul écran de monitoring et cela nous permettrait d'avoir une vue d'ensemble de nos divers client.
    vous parlez de Vidéo ? Graphiques ? Informations ?
    La page web est déjà existante ? Cela supporte les frames ?

    @+

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mont29 Voir le message
    Ou sinon, une petite page web avec un tout petit javascript qui switch entre les deux pages à afficher… Mais c’est vrai, pourquoi faire simple quand…
    Cela suppose un point important : il faut connaitre JavaScript.

    Mais oui : pourquoi faire compliquer à apprendre un nouveau langage et sa mise en œuvre alors que je peux simplement le faire en 30 minutes en PyQt (ce qui me permet au passage de progresser dans une techno qui me sera utile ^^).

    Dans le cas où on connait JavaScript en revanche, je rejoins ton avis.

Discussions similaires

  1. [AC-2007] jongler entre les records dans sous-formulaire
    Par fastpulse dans le forum IHM
    Réponses: 1
    Dernier message: 15/06/2010, 16h48
  2. Réponses: 2
    Dernier message: 02/10/2008, 15h22
  3. Jongler entre les Workbooks et WorkSheets
    Par lucie_e dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/08/2007, 13h31
  4. le passage des données entre les onglets
    Par jack_1981 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/05/2007, 01h12
  5. Recherche d'un outil analyser les dépendances entres les fichiers d'un site web PHP
    Par nkdb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 06/01/2007, 20h38

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