Navegador sem cabeça e raspagem - soluções [fechado]

368

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


LINKS E RECURSOS RELACIONADOS

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!

inoperantes
fonte
11
não sei se é isso que você deseja, mas eu gosto desse módulo para rastrear páginas da web, inspecionar o domínio e assim por diante: npmjs.org/package/crawler . ele usa jsdom e você pode jQuery como mecanismo de seleção. este (que usa rastreador) parece interessante também: npmjs.org/package/snailer
hereandnow78
Eu tive muito sucesso com o módulo nó-fantasma. É bem simples e bastante bem documentado. Ele suporta injeção de javascript.
Josh C.
11
Tenho certeza que você está ciente de que GhostDriver é uma implementação do selênio-Webdriver que usa PhantomJS
Robbie Wareham
2
Você também pode achar útil: blog.screen-scraper.com/2010/06/28/…
todd
11
Por raspagem e comparações visual PhantomCSS e PhantomFlow
FelipeAls

Respostas:

35

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

rkj
fonte
O watir é mil vezes mais fácil do que as bibliotecas acima.
Pavan Katepalli
Para python, a biblioteca "webbot" oferece recursos avançados para fácil automação da web.
Natesh bhat
11

http://triflejs.org/ é como phantomjs, mas baseado no IE

Federico Galassi
fonte
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada.
Sathish
5
Isso soa bem normalmente, mas essa questão é uma coleção de recursos. Um link com uma breve descrição a ser incorporada na lista se ajusta ao formato e faz sentido.
Federico Galassi 28/08
7

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).

Jens Grochtdreis
fonte