Tengo un programa que toma datos de un archivo Excel y los manipula para el usuario. Pero para obtener actualizaciones del archivo Excel, deben descargarse de un sitio web. Originalmente intenté usar la clase de robot para navegar al sitio web, iniciar sesión con nombre de usuario y contraseña, luego navegar a la sección correcta del sitio web y encontrar el botón que dice "descargar hoja de cálculo Excel" y hacer clic en él. Pero entiendo que es una forma horrible de hacerlo y que no siempre funciona. ¿Cuál es la mejor manera de hacerlo para que mi programa pueda ir al sitio web y navegar a la página que quiero y luego descargar los datos? Leí sobre 'eliminación de páginas', pero no creo que eso me permita hacerlo. Realmente quiero interactuar con la página web y no tanto descargar el contenido de la misma. Cualquier ayuda sería genial. Gracias, PeterCómo hacer que la aplicación Java interactúe con un sitio web
Respuesta
Si realmente se necesita para interactuar con el sitio web luego selenio/webdriver es perfecto para sus necesidades:
http://code.google.com/p/selenium/wiki/GettingStarted
Muestra de búsqueda de Google:
package org.openqa.selenium.example;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class Example {
public static void main(String[] args) {
// Create a new instance of the html unit driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
WebDriver driver = new HtmlUnitDriver();
// And now use this to visit Google
driver.get("http://www.google.com");
// Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));
// Enter something to search for
element.sendKeys("Cheese!");
// Now submit the form. WebDriver will find the form for us from the element
element.submit();
// Check the title of the page
System.out.println("Page title is: " + driver.getTitle());
}
}
Puede utilizar las solicitudes http para descargar el archivo si conoce la URL. Google rápido encontró esto: http://download.oracle.com/javase/tutorial/networking/urls/readingWriting.html descargue el archivo y guárdelo en el disco
Gracias, guardé el enlace para el futuro, pero el enlace que necesito descargar no tiene una URL directa a la que pueda acceder sin iniciar sesión en el sitio web. Entonces necesito más formas de interactuar con el sitio web para poder iniciar sesión y acceder al enlace – Peter
¿El sitio web en cuestión ofrece algún tipo de API para hacer esto? De lo contrario, raspar es realmente su única opción, aparte de usar su solución de robot (que, como usted dice, es bastante horrible :) –
No entendí que estamos utilizando ahora para descargar el archivo de Excel. Te puedo ofrecer las siguientes soluciones:
creo que esto debería ayudar ...
- 1. Cómo hacer que un sitio web esté protegido con https
- 2. Sitio web que habla con la aplicación del cliente?
- 3. ¿Cómo perfilas tu sitio web/aplicación web?
- 4. ¿Cómo hacer que un sitio web funcione más rápido?
- 5. hacer una aplicación móvil desde un sitio web existente
- 6. Hacer que PHP se ejecute y se comunique con una aplicación Java en un servidor web
- 7. Dónde puedo aprender cómo hacer que un programa C++ interactúe con el sistema operativo (Linux)
- 8. cómo hacer que la aplicación web sea accesible desde https en java
- 9. Cómo hacer que el sitio web esté disponible sin conexión
- 10. Sitio web de Parse HTML con JAVA
- 11. ¿Cómo implementar la aplicación web openId java?
- 12. ¿Es posible hacer que un script bash shell interactúe con otro programa de línea de comando?
- 13. ¿Cómo hacer que la aplicación Java sea independiente?
- 14. Iniciar una aplicación de escritorio desde un sitio web
- 15. ¿Cómo obtener favicon.ico desde un sitio web usando Java?
- 16. Cómo hacer que una aplicación web .net se ejecute como la aplicación raíz en Visual Studio
- 17. ¿Cómo puedo insertar un sitio web en mi aplicación?
- 18. ¿Cómo hacer un sitio web móvil como m.yahoo.com (versión móvil)?
- 19. ¿Cómo se puede hacer que un sitio web sea accesible solo cuando alguien tiene un dongle?
- 20. ¿Cómo demostrar la aplicación de Android en el sitio web?
- 21. ¿Alternativa a "Permitir que el servicio interactúe con el escritorio"?
- 22. cómo hacer un motor de búsqueda para el sitio web?
- 23. Acceder a un sitio web de SharePoint desde una aplicación Java con autenticación Kerberos
- 24. ¿Cómo extraer los datos de un sitio web usando Java?
- 25. ¿Qué forma debo usar para hacer un sitio web?
- 26. ¿Diferencia entre el sitio web y la aplicación web?
- 27. ¿Cómo simular un sitio en Java?
- 28. ¿Cuál es la mejor manera de hacer que un sitio web de desplazamiento lateral cargue rápidamente?
- 29. Aplicación web Java i18n
- 30. ¿Cómo recupero una URL de un sitio web usando Java?
¿El sitio web proporciona una API que puede utilizar en lugar de tener que hacerlo a través de un botón de enviar. –