Detectionde page web

vassiliev -  
sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour les pros...
j'ai 2 questions a posé...
1er : comment pourrais je savoir que la totalité des information d'une page web sont arrivé... en fait je voudrais qu'une macro puisse le detecté.. car la continuation de la sequence de cette macro depent de sa capacité a attendre et detecté que la page web soit disponible..
2eme: elle conserne le sablier d'attente... ou puije trouvé les fonctions qui declanche le sablier d'attente, toujours dans une optique de detection de page web( sablier fini donc page dispo)..
Ca peut vous paraitre confus mais je ne suis pas programeur....
si vous avez des reponses a m'apportté vous pouvez egalement me contacté par msn.....=> andre.lannee@wanadoo.fr
d'avance merci!!

27 réponses

  • 1
  • 2
  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    mmm... je ne comprend pas bien le but.

    Et puis dans quel langage ?
    0
    1. vassiliev
       
      salut... je sais que ce n'est pas tres clair... tu a la possibilitée qu'on en parle sur msn??
      0
  2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Non pas sur MSN.
    D'abord parceque je n'ai pas de login MSN et que je déteste MSN, ensuite parceque si je répond ici, peut-être que la réponse pourra profiter à d'autres internautes (c'est tout l'intérêt de ce forum).

    Si je comprend bien, tu as créé un progamme qui va chercher une page web, et tu veux savoir quand la page web a terminé d'être récupérée, c'est ça ?

    Ou bien tu parle d'une page web chargée dans le navigateur ?
    0
  3. vassiliev
     
    ok..
    je parle d'une page web de navigateur...
    j'ai crée une macro, mais elle n'abouti pas car je suis tributaire de la vitesse de chargement de la page, je voudrais donc savoir si une fonction macro pouvait detecté la fin d'affichage de la page..??
    0
  4. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Dans quel langage ?

    VBScript ? VBA ? AutoIt ? Autre ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. vassiliev
     
    je n'ai pas de preference... pour l'instant je me sert de logiciel de macro que j'ai trouvé dans telecharger .com
    je debloque la macro avec un ctrl..x... et elle se substitue a la frappe clavier..
    mais si tu as un moyen plus simple avec un language de programation... je suis super preneur ;-)
    0
  7. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Pour aller cherche une page web en Python:

    import urllib
    pagehtml = urllib.urlopen('https://www.google.fr/?gws_rd=ssl').read()


    Et c'est tout.

    On a la page web une fois qu'elle est entièrement chargée.

    Mais si tu me disais quel est le but final, on pourrait mieux t'aider.
    0
  8. vassiliev
     
    je veux pouvoir faire des copies d'ecran de page de navigateur par l'intermediare d'une macro... j'arriva a appelé la page.. mais quanq je change de page, la fonction copier intervient avant l'affichage de la page donc la macro stoppe... je pourrai mettre un <delay> mais on n'est jamais sur de la vitesse a laquelle elle va s'affichée.. je voudrai donc un moyen de detecté le fait qu'elle soit affichée afin de lancé ma fonction copier collé et ainsi de suite
    0
  9. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    ok.

    Avec quel logiciel tu fais ces macros ?
    0
  10. vassiliev
     
    il s'appele macro express.. dispo en shareware sur tele... . com
    mais je suis pas fixé sur celui la... si t'en a d'autres a me conseillé...
    0
  11. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    mmmm... je vois.

    Dans ce cas, il faudrait peut-être utiliser l'objet COM MSHTML de Microsoft.
    Je n'ai jamais essayé de l'utiliser, mais je pense qu'on doit pouvoir pilote IE pour lui faire charger une page et vérifier que le chargement est bien terminé, puis lancer la capture quand la page est terminée.

    Mais ça nécessite un peu de programmation.

    Si quelqu'un a une autre idée...

    (Pour faire des captures (manuelles), j'utilise le navigateur Firefox avec l'extension Pearl Crescent Page Saver).
    0
  12. vassiliev
     
    tu peut develoopé un peut COM MSHTML?? je suis une buse en prog..:-)
    0
  13. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    On peut contrôller IE par programme.

    Par exemple, le programme Python suivant lance IE, lui demande de charger une page, attend la fin de chargement et affiche le code HTML de la page.

    #! python
    import time,sys
    from win32com.client.gencache import EnsureDispatch
    from win32com.client import constants
    
    ie = EnsureDispatch('InternetExplorer.Application')
    ie.Visible=True
    ie.Navigate('https://www.commentcamarche.net/')
    while 1:
        state = ie.ReadyState
        if state == constants.READYSTATE_COMPLETE: break
        time.sleep(0.1)
    
    print ie.Document.documentElement.innerHTML.encode(sys.stdout.encoding,'replace')


    (code inspiré du wiki pyhton: http://wikipython.flibuste.net)

    Il faudrait ajouter à ça la capture d'écran, et ça devrait tourner.
    0
  14. vassiliev
     
    merci bcp... je regarde ca et je te recontact dans l'am... tu sera dans le coin?
    0
  15. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Je serai là, mais pas de façon régulière.
    0
  16. vassiliev
     
    re..
    d'apres la ligne de commande que tu m'as donnée, c'est python qui va chercher la page..??
    ...
    eskil existe un flag que l'on peut testé ( ce flag representant la fin de chargement de n'importe qu'elle page demandée), car, je ne connais pas l'URL de la page suivante, puisque ma macro l'apelle en cliquant sur un bouton lien!!
    0
  17. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    c'est python qui va chercher la page..??

    pagehtml = urllib.urlopen('https://www.google.fr/?gws_rd=ssl').read()
    Là c'est Python qui va lui-même cherche la page.

    Mais dans ce cas là:
    ie.Navigate('https://www.commentcamarche.net/')
    C'est IE qui va la chercher.

    A piori, si tu veux faire une capture d'écran, c'est la seconde solution qu'il faut prendre.
    0
  18. vassiliev
     
    Ce qui nous interesse ce n'est pas d'aller chercher une page mais de detecté que cette page est effectivement chargé .
    donc comment pouvoir indiqué a notre macro que la page est bien la et complete!!(flag, ou lecture d'un registre quelconque..)
    0
  19. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    ok.
    Donc c'est le second cas qu'il faut utiliser
    (avec la boucle while 1... qui sert à détecter la fin du chargement de la page).
    0
  20. vassiliev
     
    et... sans passé par python ou autre ya til un endroit dans la base de registre ou ma macro pourrait trouvé la confirmation du chargement de la page precedement affichées?
    0
  21. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Non, IE n'indique pas en base de registre qu'il a fini de charger une page.

    Tu peux aussi le faire en VBScript (.vbs).
    Le programme est quasiment identique.
    0
  • 1
  • 2