elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Llenar formularios de forma automática.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Llenar formularios de forma automática.  (Leído 2,424 veces)
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Llenar formularios de forma automática.
« en: 24 Febrero 2017, 03:38 am »

Siempre me encuentro con el problema de tener que llenar formularios de forma automática, normalmente lo hago cogiendo el Id del elemento en el HTML y escribiendo un javascript de esta manera:

Código
  1. function fillValuesInTextBoxes()
  2. {
  3.    var text = document.getElementById("firsttextbox").value;
  4.  
  5.    document.getElementById("secondtextbox").value = text;
  6.    document.getElementById("thirdtextbox").value = text;
  7.    document.getElementById("fourthtextbox").value = text;
  8. }

El problema, ahora la página donde quiero automatizar este proceso no tiene los elementos Id, entonces quisiera saber cuales son las técnicas que se usan en estos casos, tengo varias ideas pero estoy muy verde en esto de páginas web.


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Llenar formularios de forma automática.
« Respuesta #1 en: 24 Febrero 2017, 03:50 am »

Código
  1. document.getElementsByName("fname");

si es un formulario (form) tiene que tener names


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
integeroverflow

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: Llenar formularios de forma automática.
« Respuesta #2 en: 24 Febrero 2017, 07:00 am »

Siempre me encuentro con el problema de tener que llenar formularios de forma automática, normalmente lo hago cogiendo el Id del elemento en el HTML y escribiendo un javascript de esta manera:

Código
  1. function fillValuesInTextBoxes()
  2. {
  3.    var text = document.getElementById("firsttextbox").value;
  4.  
  5.    document.getElementById("secondtextbox").value = text;
  6.    document.getElementById("thirdtextbox").value = text;
  7.    document.getElementById("fourthtextbox").value = text;
  8. }

El problema, ahora la página donde quiero automatizar este proceso no tiene los elementos Id, entonces quisiera saber cuales son las técnicas que se usan en estos casos, tengo varias ideas pero estoy muy verde en esto de páginas web.


tenes que llenar un formulario automaticamente en una web para automatizar un proceso? como registrarse o algo asi?

podrias usar un script en python con el modulo pycurl, y hacer la consulta directamente al archivo php donde se procesan los datos y le pasas los parametros por POST
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: Llenar formularios de forma automática.
« Respuesta #3 en: 24 Febrero 2017, 14:55 pm »

tenes que llenar un formulario automaticamente en una web para automatizar un proceso? como registrarse o algo asi?

podrias usar un script en python con el modulo pycurl, y hacer la consulta directamente al archivo php donde se procesan los datos y le pasas los parametros por POST

Esas es una forma, se tiene que acceder a la información de parte del servidor donde esta alojada la información que se esta guardando para hacer el autocompletado.

Esto como dijo nuestro amigo puede hacerse usando una petición http, pero no se debe usar un POST, un POST es usado para enviar información y proceder a ciertas funciones del lado del servidor, como por ejemplo, guardar o actualizar la información en la base de datos. Se debe usar una petición GET.

Ahora, para ello, debe utilizarse un lenguaje que el servidor entienda y pueda capturar la petición enviada desde el cliente. Por eso se usa un lenguaje como python o perl o php, como dice arriba. Es solo una de las muchas maneras, yo en particular uso .NET para ese trabajo, es decir, C#.

También es importante resaltar que una de las maneras más practicas de realizar esa labor es usar AJAX para facilitar la comunicación entre la petición http que se hace de parte del cliente (el navegador) hacia el servidor (lógica del negocio y persistencia de datos) para mostrar esa información que permita el autocompletado en campo de texto.

Ahora como mencionas tu no tienes elementos ID (yo hablo dos tipos de ID, el del tag de los nodos del DOM de la página, como los registros que se guardan en base de datos), así que todo lo estas trabajando desde el lado del cliente sin que se guarden datos, lo veo como un laboratorio, así que simplemente puedes crear en javascript una lista con los textos que se usan en el autocompletado.

No es nada complicado, pero es necesario que las elementos de tu formulario, en este caso, las cajas de texto o textbox, deban usar un id para que el script entienda, interprete y luego inyecte los datos que se estan usando para el autocompletado para una experiencia de usuario más enriquecedora. Ahora, para ello, debe implementarse una libreria como jquery (y creo que también jqueryUI)

te dejo un ejemplo simple, (para que funcione debe usarse esta libreria https://github.com/uohzxela/fuzzy-autocomplete):

Código
  1. <input type="text" onkeyup="changeInput(this.value)">
  2. <div id="result"></div>
  3.  

Código
  1. var people = ['Steven', 'Sean', 'Stefan', 'Sam', 'Nathan'];
  2.  
  3. function matchPeople(input) {
  4.  var reg = new RegExp(input.split('').join('\\w*').replace(/\W/, ""), 'i');
  5.  return people.filter(function(person) {
  6.    if (person.match(reg)) {
  7.      return person;
  8.    }
  9.  });
  10. }
  11.  
  12. function changeInput(val) {
  13.  var autoCompleteResult = matchPeople(val);
  14.  document.getElementById("result").innerHTML = autoCompleteResult;
  15. }
  16.  


te dejo otras fuentes para el autocomplete, excelentes desempeños:

https://jqueryui.com/autocomplete/
http://leaverou.github.io/awesomplete/

Ahora, te recomiendo que uses jqueryUI, muy facil de usar, y sirve para practicamente todo.
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Llenar escritorio de formularios
Programación Visual Basic
COMANDOSOFT 5 2,356 Último mensaje 10 Junio 2009, 20:37 pm
por BlackZeroX
[Batch] Copiar de forma automatica carpeta a pen
Scripting
ricki74 3 3,210 Último mensaje 28 Mayo 2012, 04:26 am
por Eleкtro
Presionar teclas de forma automatica
Programación General
daryl09 2 6,569 Último mensaje 12 Diciembre 2013, 17:36 pm
por Platanito Mx
Mozilla Firefox por fin podrá llenar formularios automáticamente
Noticias
wolfbcn 0 1,356 Último mensaje 4 Octubre 2016, 21:34 pm
por wolfbcn
Cómo traducir un PowerPoint de forma automática
Noticias
wolfbcn 0 1,334 Último mensaje 5 Octubre 2017, 21:11 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines