Navigateur sans tête et grattage - solutions [fermé]


368

J'essaie de mettre une liste de solutions possibles pour les combinaisons de tests automatiques de navigateur et les plates-formes de navigateur sans tête capables de gratter.


TEST / NAVIGATION DU NAVIGATEUR:

  • Sélénium - produit phare polyglotte dans l'automatisation des navigateurs, liaisons pour Python, Ruby, JavaScript, C #, Haskell et plus, IDE pour Firefox (en tant qu'extension) pour un déploiement de test plus rapide. Peut agir comme un serveur et possède des tonnes de fonctionnalités.

JAVASCRIPT

  • PhantomJS - JavaScript , test sans tête avec capture d'écran et automatisation, utilise Webkit . Depuis la version 1.8, l'API WebDriver de Selenium est implémentée, vous pouvez donc utiliser n'importe quelle liaison WebDriver et les tests seront compatibles avec Selenium
  • SlimerJS - similaire à PhantomJS, utilise Gecko (Firefox) au lieu de WebKit
  • CasperJS - JavaScript , construit à la fois sur PhantomJS et SlimerJS, a des fonctionnalités supplémentaires
  • Ghost Driver - Implémentation JavaScript du protocole WebDriver Wire pour PhantomJS .
  • nouveau PhantomCSS - test de régression CSS. Un module CasperJS pour automatiser les tests de régression visuelle avec PhantomJS et Resemble.js .
  • nouveau WebdriverCSS - plugin pour Webdriver.io pour automatiser les tests de régression visuelle
  • nouveau PhantomFlow - Décrire et visualiser les flux d'utilisateurs à travers des tests. Une approche expérimentale des tests d'interface utilisateur Web.
  • new trifleJS - met en communication l'API PhantomJS pour utiliser le moteur Internet Explorer.
  • nouveau CasperJS IDE (commercial)

NODE.JS

  • Node-phantom - comble le fossé entre PhantomJS et node.js
  • WebDriverJs - Liaisons Selenium WebDriver pour node.js par l'équipe Selenium
  • WD.js - module de noeud pour WebDriver / Selenium 2
  • yiewd - WD.js wrapper utilisant les derniers générateurs Harmony! Débarrassez-vous de la pyramide de rappel avec un rendement
  • ZombieJs - Tests de pile complète sans tête incroyablement rapides à l'aide de node.js
  • NightwatchJs - Solution de test basée sur Node JS utilisant Selenium Webdriver
  • Chimera - Chimera: peut faire tout ce que fait phantomJS, mais dans un environnement JS complet
  • Dalek.js - Test de navigateur croisé automatisé avec JavaScript via Selenium Webdriver
  • Webdriver.io - meilleure implémentation des liaisons WebDriver avec plus de 50 actions prédéfinies
  • Nightmare - Pont d'électrons avec une API de haut niveau.
  • jsdom - Adapté au grattage Web. Un DOM très léger implémenté dans Node.js, il prend en charge les pages avec javascript.
  • nouvelle bibliothèque Puppeteer - Node qui fournit une API de haut niveau pour contrôler Chrome ou Chrome. Puppeteer fonctionne sans tête par défaut.

GRATTAGE / EXPLOITATION WEB

  • Scrapy - Python , principalement un scraper / mineur - rapide, bien documenté et, peut être lié à Django Dynamic Scraper pour de beaux déploiements de minage, ou Scrapy Cloud pour le déploiement PaaS (sans serveur), fonctionne dans un terminal ou un serveur autonome proces , peut être utilisé avec le céleri , construit sur Twisted
  • Snailer - module node.js , non encore testé.
  • Node-Crawler - module node.js , non encore testé.

OUTILS EN LIGNE


LIENS ET RESSOURCES CONNEXES

Des questions:

  • Une solution Node.js pure ou un module Nodejs to PhanthomJS / CasperJS qui fonctionne réellement et est documenté?

Réponse: Chimera semble aller dans cette direction, consultez Chimera

  • D'autres solutions capables d'injecter JavaScript plus facilement que Selenium?

  • Connaissez-vous des solutions de rubis pur ?

Réponse: consultez la liste créée par rjk avec des solutions à base de rubis

  • Connaissez-vous une technologie ou une solution connexe?

N'hésitez pas à modifier cette question et à ajouter du contenu à votre guise! Merci pour vos contributions!


1
Je ne sais pas si c'est ce que vous voulez, mais j'aime ce module pour explorer des pages Web, inspecter le dom et ainsi de suite: npmjs.org/package/crawler . il utilise jsdom, et vous pouvez jQuery comme moteur de sélection. celui-ci (qui utilise le robot) semble également intéressant: npmjs.org/package/snailer
hereandnow78

J'ai eu beaucoup de succès avec le module node-phantom. C'est assez simple et assez bien documenté. Il prend en charge l'injection javascript.
Josh C.

1
Je suis sûr que vous savez que GhostDriver est une implémentation de Selenium-Webdriver qui utilise phantomJS
Robbie Wareham

2
Vous pourriez également trouver cela utile: blog.screen-scraper.com/2010/06/28/…
todd

1
Pour le grattage visuel et les comparaisons: PhantomCSS et PhantomFlow
FelipeAls

Réponses:


35

Si Ruby est votre truc, vous pouvez également essayer:

De plus, la gemme Nokogiri peut être utilisée pour le grattage:

il y a un livre dédié sur la façon d'utiliser nokogiri pour le grattage par packt publishing


watir est mille fois plus facile que les bibliothèques ci-dessus.
Pavan Katepalli

Pour python, la bibliothèque "webbot" offre des fonctionnalités riches pour une automatisation Web facile.
Natesh bhat

11

http://triflejs.org/ est comme phantomjs mais basé sur IE


Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien de référence. Les réponses de lien uniquement peuvent devenir invalides si la page liée change.
Sathish

5
Cela sonne bien normalement, mais cette question est elle-même une collection de ressources. Un lien avec une brève description à incorporer dans la liste correspond au format et a du sens.
Federico Galassi

7

Une sorte de sélénium basé sur JS est Dalek.js . Il ne vise pas seulement des tests frontaux automatisés, vous pouvez également faire des captures d'écran avec. Il a des pilotes Web pour tous les navigateurs importants. Malheureusement, ces pilotes Web semblent valoir la peine d'être améliorés (pour ne pas dire "buggy" à Firefox).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.