Como hacer click en un botón asociado a javascript utilizando Casperjs y Phantom

Como hacer click en un botón asociado a Javascript utilizando Caperjs y Phantom, ruego por favor me asesoraran lo antes posible, saludos y gracias.

Estoy intentando realizar un trabajo de programación y este problema no se como solucionarlo.

1 respuesta

Respuesta
1

Con CasperJs puedes hacer click sobre cualquier elemento de la página cargada con el método thenClick indicando el selector css del botón.

Te pego el ejemplo que viene en la página de la documentación de CasperJS en la que se hace click al primer elemento "a" de la página cargada y luego se loguea un texto

// Click the first link in the casperJS page
casper.start('http://casperjs.org/').thenClick('a', function() {
    this.echo("I clicked on first link found, the page is now loaded.");
});
casper.run();

Tienes la documentación completa aquí: http://casperjs.readthedocs.org/en/latest/modules/casper.html#thenclick 

Eso ya lo he intentado, pero sólo hace caso en algunos botones,lo que estoy tratando es bajar de mega ficheros de forma automática.Gracias.

Entiendo, ¿podrías pasarme el selector que estás usando y la página web que intentas scrappear para poder hacer alguna prueba?

Hola Víctor eres muy amable este es el código que uso

var casper = require('casper').create({
verbose: true,
logLevel: 'debug',
userAgent: 'Mozilla/5.0 (X11; Ubuntu...o/20100101 Firefox/31.0',
pageSettings: {
webSecurityEnabled: false,
resourceTimeout: 240000
},
waitTimeout: 500000,
stepTimeout: 500000
});

var mouse = require("mouse").create(casper);
var x = require('casper').selectXPath;
url = 'https://mega.co.nz/#!Epc1lQDR!OizwN05pvADO6tabZv5eqSlxWscUm0noqpreDWCjQ-o';
casper.start(url);

casper.then(function() {
this.capture('antes.png',undefined, {
format: 'png',
quality: 100});
});

casper.then(function() {
var count = 1000 * 5;
this.wait(count);
});

casper.then(function() {
this.capture('despues.png',undefined, {
format: 'png',
quality: 100});
});

casper.thenClick(x('//*[@class="new-download-red-button"]'));

casper.then(function() {
var count = 1000 * 20;
this.wait(count);
});

casper.then(function() {
this.capture('despues2.png',undefined, {
format: 'png',
quality: 100});
});


casper.run();

No me termino de fiar de xpath que has puesto, mejor usa un selector CSS:

Casper. ThenClick(".new-download-red-button");

A ver si así te funciona.

PD: Me has puntuado negativamente antes de que pueda terminar de responderte. Hacer esto me resta puntos y no deberías hacerlo a menos que realmente mi respuesta no te haya servido para nada. Lo digo porque otros expertos quizá se lo tomen a malas y no te respondan más ;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas