¿Manipular página web desde Java?
¿Es posible crear una aplicación en Java que manipule una página web dada?
Me explico:
No se si esto suene a hacking, la verdad esta no es la intención. Daré un ejemplo sencillo:
1. Crear una aplicación que abra el navegador (bueno esta primera parte la sé)
2. Luego de abrir el navegador que vaya a la página de Google, y en el textfield de ésta escriba "casa"
Otras opciones serían que, por ejemplo, la aplicación "hiciera click" sobre algún botón de una página dada, o sobre los choice button, entre otros.
¿Me podrían dar por favor alguna sugerencia? o decirme ¿qué librerías me permiten hacer algo así?
Muchas gracias!!!!
- Inicie sesión o regístrese para enviar comentarios



por?
Tal vez es que los ejemplos son demasiado simples, pero no entiendo por qué quieres hacer algo así, de la manera en que describes.
Para empezar, si quieres abrir el navegador en cualquier URL, puedes pedir que se abra el URL (open en Mac, start en Windows) y eso abre el navegador default, o bien puedes ejecutar el navegador con el URL como argumento de línea de comando, prácticamente todos los navegadores leen ese argumento y abren una ventana en ese URL.
Si lo que quieres es mostrar resultados de una búsqueda en Google, es más fácil que tengas grabado el URL de búsqueda de Google y solamente sustituyas un PLACEHOLDER por lo que quieres buscar. O si quieres que aparezca realmente el texto en el campo de búsqueda de google, también hay un URL para eso (google.com/?q=XXXX para buscar XXXX).
El segundo ejemplo, dependiendo de la info que tengas, también puede resolverse simplemente saltándote la página en donde está la liga y yendo directamente a la liga destino. Pero si esa liga cambia o no la conoces, pero sabes dónde está el texto, entonces tienes que hacer un scraper, es decir, obtener todo el texto de la página inicial, buscar el texto que te interesa, y de ahí obtener la liga (necesitas parsear el HTML, ya sea completo o de manera rudimentaria a partir del texto que te interesa). No necesitas un navegador para esto, se puede hacer todo desde Java y si acaso necesitas solamente ya que tengas el URL, mandar al sistema operativo a abrirlo en el navegador default.
Muchas gracias por la
Muchas gracias por la respuesta ezamudio.
Realmente brindo estos ejemplos sencillos para empezar por cosas básicas, y aprender todo ese proceso desde lo más básico
En últimas mi objetivo es crear un programa automatizado que vaya a la página de la bolsa de valores de mi país, descargue los precios de las acciones (que vienen en hojas de excel), y luego lea esas hojas de excel.
La parte de lectura de las hojas de excel me parece sencilla, lo he trabajado mediante una librería llamada jexcel.
Pero lo que no se es como automatizar ese proceso de abrir una página, en este caso la bolsa de valores de Colombia, y "dar click mediante java" en los lugares adecuados para descargar esas hojas de excel. Por eso me refiero a inicialmente a esos procesos sencillos, para aprender poco a poco
Sin embargo con tus respuestas me brindas muchas luces.
Muchas gracias!!!
Si se puedo hacer lo primero
Si se puedo hacer lo primero con java.awt.Robot, pero es totalmente inútil hacerlo para lo que describes después.
Verás, en las páginas web los vinculos que encuentras para descargar cosas o abrir páginas tienen una URI ( Universal Resource Identifier )
Si conoces el URI puedes crear un programa por ejemplo con HttpClient y hacer la descarga automáticamente.