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.