Forum général.cherche-logiciel module python pour simuler un navigateur web ?

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes : aucune
1
14
juin
2013

Je cherche un module python simulant un navigateur web supportant Javascript/CSS et sous licence MIT ou BSD ou équivalent.

J'ai trouvé Spynner, qui a l'air vraiment bien et complet, mais c'est sous GPL v3 et c'est trop restrictif pour s'intégrer dans mon projet. Des idées ?

Il faut vraiment que javascript soit supporté (dans le sens interprété) car je dois me connecter sur des sites où les interactions sont faites notamment via des "faux" formulaires en JS (je sais, c'est mal, mais je n'ai pas la main dessus).

Merci pour vos idées.

  • # licence

    Posté par  . Évalué à 1.

    tu cherches des trucs sous quelle licence ?

    BSD ? Apache ? MIT ?

    As-tu regardé dans sourceforge ou autre "repositories" de projet proposant le tri par licence et fonctionnalité ?

    • [^] # Re: licence

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      BSD / MIT ; c'est indiqué dans mon message original. Je n'ai pas cherché en particulier sur les "repo" de projets, j'ai cherché sur google et autres et j'ai écarté les solutions rencontrées qui étaient de "simples" parsers (ie on fait une requête HTTP, puis on parse le résultat ; mais on ne fait pas tourner "l'application web")

      #tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo

  • # à essayer

    Posté par  (site web personnel) . Évalué à 3.

    Watir
    python-spidermonkey
    selenium

    ウィズコロナ

    • [^] # Re: à essayer

      Posté par  (site web personnel, Mastodon) . Évalué à 2. Dernière modification le 14 juin 2013 à 13:20.

      Watir

      Ce n'est pas dans le langage que je recherchais - c'est du ruby et non du python, mais ça a l'air super clean et vu que je me pose la question de faire du ruby, ça pourrait être l'occasion.

      Watir - http://watir.com/ - Licence BSD

      python-spidermonkey

      Visiblement c'est plutôt orienté "exécution de javascript à partir de python" alors que ce que je recherche c'est plutôt "charger et exécuter une webapp à partir de python".

      python-spidermonkey - http://code.google.com/p/python-spidermonkey/ - Licence GPL v2 (ne me convient pas, a priori)

      selenium

      Il y a selenium library qui pourrait faire l'affaire…

      Selenium library - https://github.com/rtomac/robotframework-selenium2library - Licence Apache v2

      Dans tous les cas, il faut que je vois si ces solutions peuvent s'exécuter en environnement serveur : une bonne vieille debian sans serveur graphique.

      #tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo

      • [^] # Re: à essayer

        Posté par  . Évalué à 2.

        Selenium peut piloter PhantomJS, un navigateur basé sur webkit qui ne nécessite pas d'interface graphique.

    • [^] # Re: à essayer

      Posté par  . Évalué à 3.

      une liste assez complète ici, tous langages confondus :

      • HtmlUnit - Java. Custom browser engine. JavaScript support/DOM emulated. Open source.
      • Ghost - Python only. WebKit-based. Full JavaScript support. Open source.
      • Twill - Python/command line. Custom browser engine. No JavaScript. Open source.
      • PhantomJS - Command line/all platforms. WebKit-based. Full JavaScript support. Open source.
      • Awesomium - C++/.Net/all platforms. Chromium-based. Full JavaScript support. Commercial/free.
      • SimpleBrowser - .Net 4/C#. Custom browser engine. No JavaScript support. Open source.
      • ZombieJS - Node.js. Custom browser engine. JavaScript support/emulated DOM. Open source.
      • EnvJS - JavaScript via Java/Rhino. Custom browser engine. JavaScript support/emulated DOM. Open source.
      • Watir-webdriver with headless gem - Ruby via WebDriver. Full JS Support via Browsers (Firefox/Chrome/Safari/IE).
      • Spynner - Python only. PyQT and WebKit.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.