Estou tentando colocar uma lista de possíveis soluções para testes automáticos de navegadores e plataformas de navegadores sem cabeça capazes de raspar.
TESTE / Rastreio do Navegador:
- Selenium - carro-chefe poliglota na automação de navegadores, ligações para Python, Ruby, JavaScript, C #, Haskell e mais, IDE para Firefox (como uma extensão) para implementação de teste mais rápida. Pode atuar como um servidor e possui vários recursos.
JAVASCRIPT
- PhantomJS - JavaScript , teste sem cabeça com captura e automação de tela, usa Webkit . A partir da versão 1.8, a API WebDriver do Selenium está implementada, portanto você pode usar qualquer ligação ao WebDriver e os testes serão compatíveis com o Selenium.
- SlimerJS - semelhante ao PhantomJS, usa Gecko (Firefox) em vez do WebKit
- CasperJS - JavaScript , desenvolvido tanto no PhantomJS quanto no SlimerJS, possui recursos extras
- Driver Ghost - Implementação em JavaScript do Protocolo WebDriver Wire para PhantomJS .
- novo PhantomCSS - teste de regressão CSS. A CasperJS módulo para automatizar testes de regressão visual, com PhantomJS e Resemble.js .
- novo WebdriverCSS - plugin para Webdriver.io para automatizar testes de regressão visual
- novo PhantomFlow - descreva e visualize fluxos de usuários através de testes. Uma abordagem experimental para teste de interface com o usuário da Web.
- new trifleJS - move a API do PhantomJS para usar o mecanismo do Internet Explorer.
- novo CasperJS IDE (comercial)
NODE.JS
- Node-phantom - preenche a lacuna entre o PhantomJS e o node.js
- WebDriverJs - Ligações do Selenium WebDriver para node.js pela equipe do Selenium
- WD.js - módulo de nó para WebDriver / Selenium 2
- yiewd - WD.js mensagens publicitárias usando geradores últimas Harmonia! Livre-se da pirâmide de retorno de chamada com rendimento
- ZombieJs - Teste incrivelmente rápido e sem pilha, usando o node.js
- NightwatchJs - solução de teste baseada em JS de nó usando Selenium Webdriver
- Quimera - Quimera: pode fazer tudo o que o phantomJS faz, mas em um ambiente JS completo
- Dalek.js - Teste automatizado em vários navegadores com JavaScript através do Selenium Webdriver
- Webdriver.io - melhor implementação de ligações do WebDriver com mais de 50 ações predefinidas
- Pesadelo - ponte eletrônica com uma API de alto nível.
- jsdom - Adaptado para raspagem da web. Um DOM muito leve implementado no Node.js, suporta páginas com javascript.
- nova biblioteca Puppeteer - Node, que fornece uma API de alto nível para controlar o Chrome ou o Chromium. Puppeteer é executado sem cabeça por padrão.
Raspagem / mineração
- Scrapy - Python , principalmente um raspador / minerador - rápido, bem documentado e pode ser vinculado ao Django Dynamic Scraper para implantações agradáveis de mineração ou ao Scrapy Cloud for PaaS (sem servidor), funciona em processos independentes de terminal ou servidor , pode ser usado com o aipo , construído sobre o Twisted
- Módulo Snailer - node.js , ainda não testado.
- Módulo Node-Crawler - node.js , ainda não testado.
FERRAMENTAS ONLINE
nova linguagem de raspagem da Web - sintaxe simples para rastrear a Web
novo cliente HTTP on-line - resposta SO dedicada
CasperBox morto - Executescripts CasperJS online
LINKS E RECURSOS RELACIONADOS
- Comparação de software Webscraping
- novo Resemble.js : análise e comparação de imagens
Questões:
- Alguma solução Node.js pura ou módulo Nodejs para PhanthomJS / CasperJS que realmente funciona e está documentado?
Resposta: Quimera parece ir nessa direção, check-out Quimera
Outras soluções capazes de facilitar a injeção de JavaScript que o Selenium?
Você conhece alguma solução pura de rubi ?
Resposta: efetue o checkout da lista criada por rjk com soluções baseadas em ruby
- Você conhece alguma tecnologia ou solução relacionada?
Sinta-se livre para editar esta pergunta e adicionar conteúdo como desejar! Obrigado por suas contribuições!
Respostas:
Se você gosta de Ruby, também pode tentar:
Além disso, a gema Nokogiri pode ser usada para raspagem:
existe um livro dedicado sobre como utilizar nokogiri para raspar pela publicação de pacotes
fonte
http://triflejs.org/ é como phantomjs, mas baseado no IE
fonte
Um tipo de Selenium baseado em JS é o Dalek.js . Ele não apenas visa testes de front-end automatizados, como também pode fazer capturas de tela com ele. Possui webdrivers para todos os navegadores importantes. Infelizmente, esses webdrivers parecem valer a pena melhorar (apenas para não dizer "buggy" para o Firefox).
fonte