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

Réseau/Web Python Discussion :

lien sur page web


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 293
    Par défaut lien sur page web
    Bonjour,

    je cherche à afficher une page web. De cette manière, pas de problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import webbrowser
    the_url = 'http://programme.tv.yahoo.net/php/timeLine/index.php'
    webbrowser.open(the_url)
    Cependant pour la page qui suit, il existe un lien dans le code source de la page qui est : <a href="#" id="pageSuivante">&gt;&gt;</a> et je ne sais pas comment l'utiliser pour afficher la page qui suit

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Au début de cette page php se trouvent les chargements des scripts javascript, on y trouve celui qui gère la pagination.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	<script type="text/javascript" src="/javascript/modules/gestionPagination.js"></script>
    Le lien reconstitué est donc:
    http://programme.tv.yahoo.net/javasc...nPagination.js

    Il ne te reste plus qu'à plonger dans javascript.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 293
    Par défaut
    tout d'abord merci pour cette réponse.

    Si j'analyse la page en question, je trouve:
    nodePageSuivante.href = "javascript:page(" + (parseInt(nodePageCourante.value) + 1) + ");";

    Je suppose que c'est bien l'info qui m'intéresse mais comment puis-je l'utiliser ?

    J'ai pensé à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webbrowser.open('http://programme.tv.yahoo.net/php/timeLine/index.php? "  a href=javascript:page2')
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webbrowser.open('http://programme.tv.yahoo.net/php/timeLine/index.php?href = "javascript:page(" + (parseInt(nodePageCourante.value) + 1) + ")')
    mais ça ne fonctionne pas.

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Ah non, c'est destiné à créer l'appel à une fonction du même script. Du moins son argument.
    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
     
    function	page(numeroDePage)
    {
    		//	Si ça vaut -1, c'est qu'on ne fait rien
    	if( numeroDePage != -1 )
    	{
    		nodePageCourante.value	= numeroDePage;
    			//	Construction de la liste des chaines dà afficher sur la time line
    		setListeChainesTimeLine();
    			//	Construction de l'affichage de la timeLine
    		affichePagination();
    			//	Et ensuite, on rafraichit la page
    		setVisibility('chargementEnCours','visible');
    		window.setTimeout('ajaxTimeLine()',1);
    			//	Rechargement des iframes
    		reloadElems();
    	}
    Donc dans le cas que tu essayes, tu appelles page(2)

    Il y a des framework qui interagissent avec javascript. C'est le cas de Qt. Et forcément PyQt.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 293
    Par défaut
    Tu me conseilles donc d'utiliser PyQt pour faire cela ?
    Existe t'il des tutoriels ?

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Je ne conseille pas plus spécialement Qt mais je sais que son toolkit web est très complet.

    Tu trouveras des tutos pour démarrer sur ce site [1]


    Un exemple basique avec ton lien
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    # -*- coding: utf-8 -*-
     
    from PyQt4.QtCore import QUrl
    from PyQt4.QtGui import (QApplication, QWidget, QGridLayout, QVBoxLayout, 
                             QHBoxLayout, QLabel, QPushButton, QSpacerItem, 
                             QSizePolicy)
    from PyQt4.QtWebKit import QWebView, QWebPage, QWebSettings
     
    ROOT = "http://programme.tv.yahoo.net/php/timeLine/index.php"
     
    class WebApp(QWidget):
        def __init__(self, main, parent=None):
            super(WebApp, self).__init__(parent)
            self.resize(738, 487)
            self.grid = QGridLayout(self)
            self.vlayout = QVBoxLayout()
            self.webview = Viewer(self)
            self.webview.set_url(ROOT)
            self.vlayout.addWidget(self.webview)
            self.hlayout = QHBoxLayout()
            self.pages_lbl = QLabel(self)
            self.hlayout.addWidget(self.pages_lbl)
            spacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
            self.hlayout.addItem(spacer)
            self.previous_btn = QPushButton(self)
            self.previous_btn.setText(u"Précédente")
            self.hlayout.addWidget(self.previous_btn)
            self.next_btn = QPushButton(self)
            self.next_btn.setText(u"Suivante")
            self.hlayout.addWidget(self.next_btn)
            self.vlayout.addLayout(self.hlayout)
            self.grid.addLayout(self.vlayout, 0, 0, 1, 1)
            self.previous_btn.clicked.connect(self.webview.previous_page)
            self.next_btn.clicked.connect(self.webview.next_page)
     
    class Viewer(QWebView):
        def __init__(self, parent=None):
            super(Viewer, self).__init__(parent)
            self.ui = parent
            self.page_ = QWebPage()
            self.setPage(self.page_)
            self.settings().setAttribute(QWebSettings.PluginsEnabled, True)
            self.is_loaded = False
            self.numb_pages = 0
            self.current_page = -1        
            self.loadFinished.connect(self.on_loading_finished)
     
        def set_url(self, url):
            self.setUrl(QUrl(url))
     
        def on_loading_finished(self):
            if self.current_page == -1:
                self.is_loaded = True
                # At startup
                np = self.page_.mainFrame().evaluateJavaScript('nodeNbPage.value')
                # np is QVariant
                self.numb_pages = np.toInt()[0]
     
            cp = self.page_.mainFrame().evaluateJavaScript('nodePageCourante.value')
            self.current_page = cp.toInt()[0]
            self.ui.pages_lbl.setText("Page courante: %s / %s" %(self.current_page,
                                                                 self.numb_pages))
     
        def previous_page(self):
            if not self.is_loaded:
                return
     
            p = self.current_page - 1
            if p == 0:
                p = self.numb_pages
     
            self.change_page(p)
     
        def next_page(self):
            if not self.is_loaded:
                return   
     
            p = self.current_page + 1
            if p == self.numb_pages + 1:
                p = 1
     
            self.change_page(p)
     
        def change_page(self, index):
            self.page_.mainFrame().evaluateJavaScript('page(%s)' % index)
     
     
    if __name__ == "__main__":
        import sys
        app = QApplication(sys.argv)
        wa = WebApp(None)
        wa.show()
        sys.exit(app.exec_())
    Bon, je ne suis pas un foudre en javascript, donc je devine plus que je ne comprend.
    Donc, fais des essais.




    [1] http://python.developpez.com/cours/?page=GUI#PyQtPySide

Discussions similaires

  1. Intégrer vidéo et liens (playlist) sur page web
    Par wassim1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/03/2007, 21h30
  2. graphique dynamique sur page web
    Par kek_net dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 16/08/2006, 15h01
  3. trouver plusieurs mots sur page web et les surligner
    Par biggione dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/08/2006, 15h22
  4. Lecteur Multimedia sur page Web
    Par beegeesman dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 17/01/2006, 00h15
  5. ShellExecute - Access Denied sur page web
    Par Neilos dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/10/2005, 12h04

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