Les Alternatives à la Selenium Webdriver
J'utilise Selenium Webdriver pour C# et Python pour obtenir des éléments de données à partir de sites web, mais la vitesse du web scraping est terriblement lent. Grattage 35000 tableaux de données m'a pris environ 1,5 jour. Avec Selenium Webdriver je peux exécuter un code Javascript pour obtenir un Java élément. Est-il une librairie qui ne nécessite pas de quelque chose comme un Webdriver pour exécuter un code Javascript sur une page web pour récupérer les éléments et est en mesure de cliquer sur les éléments ainsi? Ou est-il une alternative plus rapide pour le Sélénium?
Avez-vous essayé de phantomjs? Voir cette question - stackoverflow.com/questions/8049520/...
Oui j'ai essayé de PhantomJS pour le Sélénium et il est plus rapide que la Chromedriver pour le Sélénium. J'ai aussi découvert que je peux obtenir de la table directement par l'extraction du texte entre les <tbody> ou <table> balises, au lieu de l'extraire de chaque élément de la table individuellement: pilote.find_element_by_tag_name("td") -> pilote.find_element_by_tag_name("tr").
Oui j'ai essayé de PhantomJS pour le Sélénium et il est plus rapide que la Chromedriver pour le Sélénium. J'ai aussi découvert que je peux obtenir de la table directement par l'extraction du texte entre les <tbody> ou <table> balises, au lieu de l'extraire de chaque élément de la table individuellement: pilote.find_element_by_tag_name("td") -> pilote.find_element_by_tag_name("tr").
OriginalL'auteur Robert Smit | 2015-04-16
Vous devez vous connecter pour publier un commentaire.
Je vous suggérons d'utiliser TestCafe.
TestCafe est gratuit, framework open source pour le web tests fonctionnels (e2e-test). TestCafe est basé sur Node.js et n'utilisez pas de WebDriver.
TestCafe-alimenté tests sont exécutés sur le serveur. Pour obtenir des DOM-éléments, TestCafe fournit un puissant système flexible de Sélecteurs.
TestCafe peut exécuter un code JavaScript sur testé page web à l'aide de la ClientFunction fonctionnalité (voir notre Documentation).
TestCafe tests sont vraiment très rapide, voyez par vous-même. Mais la vitesse élevée de l'essai n'affecte pas la stabilité grâce à une puce d'attente du système.
Installation de TestCafe est très facile:
1) Vérifiez que vous avez Node.js sur votre PC (ou installer).
2) Pour installer TestCafe ouvrir cmd et tapez:
Épreuve d'écriture n'est pas un sorcier. Voici un guide de démarrage rapide
1) Copiez-collez le code suivant dans votre éditeur de texte et l'enregistrer en tant que "test.js"
2) lancer le test dans votre navigateur (chrome par exemple) en tapant la commande suivante dans cmd:
3) Obtenir le descriptif résultat dans la sortie de la console.
TestCafe vous permet de tester différents navigateurs: local, à distance (sur les appareils, que ce soit du navigateur pour Raspberry Pi ou Safari pour iOS), le cloud (par exemple, la Sauce Labs) ou sans tête (par exemple, Cauchemar). Cela signifie que vous pouvez facilement utiliser TestCafe avec votre Durée d'Intégration de l'infrastructure.
OriginalL'auteur Helen Dikareva
Je suggère de Sélénium + PhantomJSDriver (Ghostdriver), qui est utilisé pour GUI-moins navigateur de l'automatisation. Avec cela, vous pouvez facilement naviguer à travers les pages, sélectionnez les éléments (vous pouvez sélectionner les vols), des formulaires de soumission et effectuer certaines grattage. Javascript est également pris en charge.
Vous pouvez a travers le Sélénium documentation ici. Vous aurez à télécharger phantomjs.exe fichier.
Un bon tutoriel forPhantomJSDriver est donné dans ici
Config de PhantomJSDriver(à partir du tutoriel):
Autre option(ce ne sera pas besoin WebDriver): PhantomJS
PhantomJS est une tête WebKit scriptable avec une API JavaScript. Il est rapide et la prise en charge native pour les différents standards du web: DOM manipulation, le sélecteur CSS, JSON, Canvas et SVG.
C'est GUI-moins et a également la capacité de prendre des captures d'écran.
Exemple (à partir de ici):
PS: je propose de JSoup pour le web grattage mais il ne prend pas en charge Javascript. PhantomJSDriver a quelque chose qui s'appelle Ghost.py pour python.
Oui, vous pouvez essayer de scrapy. Je crois qu'il existe quelque chose qui s'appelle beautifulsoup. Je vous suggère de modifier la question du titre à quelque chose de spécifique, car les gens sont downvoting pensant que c'est une opinion basée sur la question.
OriginalL'auteur LittlePanda
Ce sujet LeanFT? C'est un nouveau produit HP qui fonctionne avec C# et Java et les utilisateurs disent que ils sont passés à LeanFT "parce que Le sélénium ne pouvais pas gérer toutes [leurs]."
OriginalL'auteur Sarah Sukin
Si vous utilisez l'interface htmlunit webdriver, il n'y a pas de frais généraux de fonctionnement d'un navigateur, de sorte que le code peut s'exécuter plus rapidement. Vous pourriez vitesse encore plus par l'abandon d'un cadre/ensemble d'outils de complètement et d'interroger directement les pages et les analyser pour ce qu'il vous faut. Cependant, ce qui rend la maintenance et la mise à jour d'une douleur.
OriginalL'auteur not-bob