Articles of phantomjs

Como rolar para baixo com o Phantomjs para carregar o conteúdo dynamic

Eu estou tentando raspar links de uma página que gera conteúdo dinamicamente como o usuário rolar para baixo para a parte inferior (rolagem infinita). Eu tentei fazer coisas diferentes com o Phantomjs, mas não consegui reunir links além da primeira página. Digamos que o elemento na parte inferior, que carrega o conteúdo, tenha class .has-more-items […]

Passar argumentos com page.evaluate

Estou usando o PhantomJS page.evaluate () para fazer alguns scraping. Meu problema é que o código que eu passo para a página do webkit é em modo de sandbox e, portanto, não tem access às variables ​​do meu script fantasma principal. Isso torna difícil tornar o código de raspagem genérico. page.open(url, function() { var foo […]

baixar um arquivo que vem como um anexo em uma resposta de solicitação POST no PhantomJs

Eu quero baixar um arquivo CSV, ele é gerado em um clique de botão através de uma solicitação POST. Eu pesquisei no meu melhor em fóruns casperJs e phantomJS e retornei de mãos vazias. Em um navegador normal como o firefox, uma janela de diálogo de download do navegador aparece após a solicitação de postagem. […]

Como posso capturar e processar os dados das respostas XHR usando casperjs?

Os dados na página da web são exibidos dinamicamente e parece que verificar todas as alterações no html e extrair os dados é uma tarefa muito difícil e também precisa que eu use XPaths não confiáveis. Então, eu gostaria de poder extrair os dados dos pacotes XHR . Espero poder extrair informações de pacotes XHR […]

CasperJS bind issue

Estou tentando acessar uma página do instagram, mas sem sorte. Eu continuo recebendo o erro e uma captura de canvas em branco. Texto do erro: TypeError: ‘undefined’ is not a function (evaluating ‘a.createDescriptor.bind(null,t)’) Casperjs –version é 1.1.0-beta3. Basicamente eu uso o seguinte código: var casper = require(‘casper’).create({ verbose: true, logLevel: ‘debug’, pageSettings: { userAgent: ‘Mozilla/5.0 […]

Como enviar um formulário usando o PhantomJS

Eu estou tentando usar phantomJS (que ferramenta incrível btw!) Para enviar um formulário para uma página que eu tenho credenciais de login e, em seguida, saída do conteúdo da página de destino para stdout. Eu sou capaz de acessar o formulário e definir seus valores com sucesso usando fantasma, mas não tenho certeza qual é […]

Navegador sem cabeça e raspagem – soluções

Eu estou tentando colocar lista de possíveis soluções para ternos de testes automáticos de navegador e plataformas de navegador sem cabeça capazes de raspagem. TESTE / RASPAGEM DO NAVEGADOR: Selenium – flagship poliglota na automação de navegadores, ligações para Python, Ruby, JavaScript, C #, Haskell e muito mais, IDE para Firefox (como uma extensão) para […]

phantomjs não está esperando pelo carregamento de página “completo”

Estou usando o PhantomJS v1.4.1 para carregar algumas páginas da web. Eu não tenho access ao servidor deles, acabei de receber links apontando para eles. Estou usando uma versão obsoleta do Phantom porque preciso dar suporte ao Adobe Flash nessas páginas da web. O problema é que muitos sites estão carregando seu conteúdo secundário asynchronous […]

CasperJS / PhantomJS não carrega a página https

Eu sei que existem certas páginas web que o PhantomJS / CasperJS não pode abrir, e eu queria saber se esse era um deles: https://maizepages.umich.edu . CasperJS dá um erro: O PhantomJS falhou ao abrir o status da página = falha. Eu tentei ignorar-ssl-erros e mudar meu agente de usuário, mas não sei como determinar […]

PhantomJS; clique em um elemento

Como clico em um elemento no PhantomJS? page.evaluate(function() { document.getElementById(‘idButtonSpan’).click(); }); Isso me dá um erro “indefinido não é uma function …” Se eu ao invés return document.getElementById(‘idButtonSpan’); e depois imprimi-lo então ele imprime [object object], então o elemento existe. O elemento age como um botão, mas na verdade é apenas um elemento de extensão, […]