Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

220
Views
¿Cómo detectar si un sitio te permite subir archivos?

Me gustaría poder saber si un sitio le permite cargar archivos. Puedo pensar en dos formas principales en que los sitios lo hacen e idealmente me gustaría poder detectar ambos:

  • Botón
  • Arrastrar y soltar

La documentación de PhantomJS tiene este fragmento de código de ejemplo:

 var webPage = require('webpage'); var page = webPage.create(); page.uploadFile('input[name=image]', '/path/to/some/photo.jpg');

pero no está claro cómo pude darme cuenta de que input[name=image] realmente admite la carga.

Actualmente, mis rastreadores siguen todos los enlaces y botones de los sitios, pero no estoy seguro de cómo detectar que "se ha abierto una ventana emergente de carga de archivos". El caso de D&D es aún menos claro para mí. Necesito una solución para una sola página y obviamente puedo ir y aplicarla a cada página que paso.

ACTUALIZAR Resulta que la mayoría de las veces esto funciona:

 document.querySelector('input[type=file]').click()

Sin embargo, no siempre se puede hacer clic en las áreas de D&D y no siempre se puede asumir [ondrop] estará presente. A veces, el drop listener se agrega en el código:

 object.addEventListener("drop", myScript);

¿Cómo puedo verificar la presencia de tales elementos entonces?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Puede comprobar si un formulario tiene enctype="multipart/form-data" o no. o busque entrada con type=file en la página html.

over 4 years ago · Santiago Trujillo Report

0

AFAIK, el mejor enfoque para cargar archivos con selenio es enviar el archivo que se cargará directamente al elemento ubicado por este CSS Selector input[type=file] .
Entonces, para verificar si alguna página web admite la carga de archivos, puede verificar si esa página contiene el elemento input[type=file] .
Este elemento normalmente no es visible y no se puede interactuar con la GUI, por lo que solo puede verificar su existencia, no su visibilidad, etc.

over 4 years ago · Santiago Trujillo Report

0

Nada puede obtener el 100%, pero creo que el 99% funciona con input[type=file] a menos que el usuario no lo haya creado en tiempo de ejecución usando javascript.

O puede verificar el enctype del formulario, pero tampoco siempre funciona, ya que existe una buena posibilidad de que el usuario comprima y cambie el archivo a base64, entonces no habrá necesidad de que el enctype sea multipart/form-data. Entonces input[type=file] es la mejor manera.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!