Frage von Tomahawk300, 72

Von einer HTML seite einen wert bekommen und in real time statistik eintragen in Java ?

Ich Versuche, einen Wert aus einer html seite in eine Statistik eines Java programmes einzutragen, aber ich weis nicht , wie man das über einen browser macht. Ich will nicht mit java sondern über den browser den Wert bekommen . Wenn ich per Opera browser auf die seite gehe, und mit der developer konsole den wert verändere (näturlich die kopie der seite die auf meinem pc gespeichert ist) dann könnte man doch diesen wert auch von java aus bekommen? >>siehe Bild

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von KnusperPudding, Community-Experte für Java, 46

Da wären ein paar mehr Details notwendig, denn es erschließt sich hier nicht was du eigentlich vor hast.

Wenn dein Browser eine Seite geladen hat und du dann her gehst, und einen wert änderst über die developer console, dann ist diese änderung auch nur in der Sitzung deines Browsers vorhanden. - Wenn du darauf per Java zugreifen willst, benötigst du etwas, was deinen Browser ansprechen kann.

Für so etwas könnte der Selenium Browser verwendet werden.

Kommentar von Tomahawk300 ,

Ja ,zweiteres will ich machen. Wie kann Ich z.B. In eclipse diesen wert bekommen?

Kommentar von KnusperPudding ,

Lad dir die Library: Seleniumbrowser runter. Mit dieser Java Library kannst du z.b. einen Browser mit einer Website starten. 

Dort kannst du deine Änderung vornehmen und anschließend den Wert direkt abfragen. 

Aber warum möchtest du den Wert via Developerconsole ändern? Das ginge doch theoretisch auch codeseitig.

Kommentar von Tomahawk300 ,

Ich habe das nur als beispiel verwendet, damit man weis dass es sich um einen wert handelt und um die frage klarer zu machen, aber dankefür die antwort

Kommentar von KnusperPudding ,

Solltest du "Nur" Werte abfragen wollen, so wäre Dorys Vorschlag sinnvoller, unter folgendem Vermerk:

URLConnection sollte man nur verwenden, wenn die Seite nicht per Javascript generiert wird - Denn das wird hier nicht unterstützt.

Zum puren auslesen eignet sich JSoup.

Seleniumbrowser wäre für komplexere Interaktionen mit Websites gedacht. - Und in der ursprünglichen Frage schien mir dem so.

Kommentar von Tomahawk300 ,

schlechte nachricht. Fast alles aus der Seite wird mit javascript generiert, dorys erster vorschlag funktioniert hier schonmal nicht.

Ich habe noch nie mit libraries etwas gemacht, kannst du mir hier eine kleine einleitung geben ? ich habe jetzt die jsoup .jar gedownloadet, whin muss ich das packen ?

Kommentar von KnusperPudding ,

In deinem Projekt-Ordner solltest du, falls es noch nicht gibt: einen Lib oder library-ordner anlegen. (Ich weiß spontan nicht ob Eclipse-Projekte hierfür einen Ordner automatisch anlegen, da ich eine andere IDE nutze).

In den Ordner wiederum kopierst du den kompletten Inhalt der Library ( .jar Dateien und andere mögliche Ordner).

Anschließend gehst du in deinem Projekt auf Eigenschaften/Settings -> Bibliotheken/Librarys und dort müsste es etwas geben mit "neue Library hinzufügen". Hier solltest du dann auf die .jar Dateien deiner Library verweisen. 

Bei den Librarys kommt es eben auch vor, dass diese auch wieder welche verwenden, d.h. es sind noch weitere .jar Dateien in möglichen Unterordnern mit der Bezeichnung "lib" zu finden.

Wenn du die Library anschließend dem Projekt hinzugefügt hast, kannst du direkt auf die Klassen zugreifen um diese zu verwenden.

Antwort
von Dory1, 32
Antwort
von EightSix, 10

Wozu brauchst du dazu einen Browser? Du kannst ja über Java ein HTTP Request senden und das Response verarbeiten.

Browser sind für Menschen um etwas anzuzeigen. Darauf kann dein Programm ja verzichten.

Antwort
von MarcelDavis321, 14

htmlutils oder jsoup. Mit jsoup kann das Javaprogramm den Wert aus dem Span element entspannt auslesen und benutzen

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten