Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Cómo manejar checkbox y una _blank page con PhantomJs

Estas en el tema de Cómo manejar checkbox y una _blank page con PhantomJs en el foro de Javascript en Foros del Web. Tengo un formulario para comprar productos donde yo selecciono (checkbox) el producto y escribo la cantidad que quiero. Resulta que cuando le hago clic si ...
  #1 (permalink)  
Antiguo 01/04/2016, 00:35
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Cómo manejar checkbox y una _blank page con PhantomJs

Tengo un formulario para comprar productos donde yo selecciono (checkbox) el producto y escribo la cantidad que quiero.

Resulta que cuando le hago clic si lo hago manualmente yo desde un navegador, este formulario me lleva a otro que es para confirmar la compra, pero lo hace en una redirección de la misma página para confirmar la compra.

Mi primer problema es que no consigo hacer que phantom haga "checked" en el checkbox para seleccionar los productos (con lo cual en la verificación del formulario me dice que necesito seleccionar, al menos, un producto).

Mi segundo problema, que si está todo correcto, al hacer submit, me redirige a otra página para confirmar la compra donde me muestra el resumen del pedido y los botones de aceptar/cancelar y no tengo manera de controlar esa página nueva que se abrió para yo poder decirle a phantom que haga clic en Aceptar.

¿Alguien sabe donde puedo encontrar información al respecto o si tiene alguna idea de cómo se hace?

Comparto el código que estoy utilizando para el checkbox:

page.evaluate(function(){
document.getElementById("positions").value="1";
document.getElementById("repurchase").checked = true;
document.getElementById("tos").checked = true;
document.getElementById("preiview").click();
});

Grácias por adelantado
  #2 (permalink)  
Antiguo 03/04/2016, 00:07
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Cómo manejar checkbox y una _blank page con PhantomJs

Antes problemas drásticos, medidas drásticas... cambié el script para hacer eso, phantomjs por casperjs y solucionado. Ya puedo seguir creando mi bot.

Grácias de todos modos aunque no hubo nadie que supiese dar una respuesta.
  #3 (permalink)  
Antiguo 04/04/2016, 05:25
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 10 meses
Puntos: 25
Respuesta: Cómo manejar checkbox y una _blank page con PhantomJs

Triby2, el estándar propone usar checked = "checked" en lugar de checked = true.

A lo mejor, PhantomJS no se apañaba con el valor booleano y sí con el atributo. ¿lo probaste?

Código:
page.evaluate(function(){
document.getElementById("positions").value="1";
document.getElementById("repurchase").setAttribute('checked', 'checked');
document.getElementById("tos").setAttribute('checked', 'checked');
document.getElementById("preiview").click();
});
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles
  #4 (permalink)  
Antiguo 04/04/2016, 09:52
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Cómo manejar checkbox y una _blank page con PhantomJs

eContento, grácias por tu respuesta pero ya había eliminado todo el código en phantomjs para subsituirlo por un script hecho en casperjs. Con eso solucioné todo y mi robot ya está terminado y funcionando, una tarea menos de la que despreocuparme hasta que pongan un captcha en los formularios jejejeje

Etiquetas: redirección
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:06.