• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Wert aus HTML Tabelle auslesen mit Javascript

mot96

New member
Hallo Zusammen,

da mir letztens hier so gut geholfen wurde, wende ich mich einfach wieder an euch.

Ich möchte diesmal eine bestimmte stelle aus einer Tabelle auslesen.
Habe mich soweit informiert und bin fast am Ziel.

Hier ist der HTML-Code aus der Seite:
HTML:
<div class="table-container">
		<h3>meine Staffel</h3>
		<table id="goalgetters" class="sortable-table">
			<thead>
				<tr>
					<th>
						Platz
						<span class="sort-status"></span>
					</th>
					<th class="nosort">Nat</th>
					<th class="name-column">
						Spieler
						<span class="sort-status"></span>
					</th>
					<th>
						Pos.
						<span class="sort-status"></span>
					</th>
					<th>
						Alter
						<span class="sort-status"></span>
					</th>
					<th class="name-column">
						Verein
						<span class="sort-status"></span>
					</th>
					<th>
						Tore
						<span class="sort-status"></span>
					</th>
				</tr>
			</thead>
			<tfoot>
				<tr>
					<td class="last-column" colspan="7"> </td>
				</tr>
			</tfoot>
			<tbody>	<tr>
						<td>1</td>
						<td><img name="__tooltip" tooltip="tt_DEU" src="/static/images/countries/DEU.gif" /></td>
						<td class="name-column">
							<span pid="player-29163825" class="icon details open-card" ref="#/index.php?w=301&area=user&module=statistics&action=goalgetter&conplex=1&_=1488820818"></span><span class="player-name">Streuli, Danny</span>
						</td>
						<td>RM</td>
						<td>32</td>
						<td class="name-column">
							<div class="club-logo-container"><img src="/avatars/301/squad/1361/1361270"title="Mannschaftslogo im Vereinsprofil"alt="Mannschaftslogo im Vereinsprofil"/></div><a href="#/index.php?w=301&area=user&module=profile&action=show&clubId=1361270&_=1488820818" clubid="1361270">VfL Einheit Buchholz</a>
						</td>
						<td class="last-column">0</td>
					</tr>
									<tr>
						<td>2</td>
						<td><img name="__tooltip" tooltip="tt_DEU" src="/static/images/countries/DEU.gif" /></td>
						<td class="name-column">
							<span pid="player-29027402" class="icon details open-card" ref="#/index.php?w=301&area=user&module=statistics&action=goalgetter&conplex=1&_=1488820818"></span><span class="player-name">Völler, Dominique</span>
						</td>
						<td>IV</td>
						<td>36</td>
						<td class="name-column">
							<div class="club-logo-container"></div><a href="#/index.php?w=301&area=user&module=profile&action=show&clubId=646898&_=1488820818" clubid="646898">FC Holt</a>
						</td>
						<td class="last-column">0</td>
					</tr>
									<tr>


Jetzt weiß ich nicht, ob ich überhaupt eine Chance habe diesen Wert zu übernehmen.
Ich brauche diese stelle aus der Tabelle (1.Stelle):
HTML:
clubid="1361270">VfL Einheit Buchholz</a>

Die clubid"" ist auch immer ein Team zugeordnet, wie zu sehen^^
Diese id kann sich aber jeden Tag ändern und somit logischerweise auch das Team , was an der 1. Stelle steht in der Tabelle...

Das habe ich:
HTML:
GM_xmlhttpRequest({
        method: "POST",
        url: "http://fussballcup.de/index.php?w=301&area=user&module=statistics&action=goalgetter#/index.php?w=301&area=user&module=statistics&action=goalgetter&_=*",
        headers: { "Content-Type": "application/x-www-form-urlencoded" },
         onload: function(responseDetails){           
             var inhalt = document.implementation.createHTMLDocument("");
             inhalt.documentElement.innerHTML = responseDetails.responseText;
           var goal = inhalt.getElementById("goalgetters");
              goal = inhalt.getElementsByClassName('player-name');
          
             if (goal[0])
             {

                document.getElementById("goal").innerHTML = "<li id='goal'><span >Torschütze:</span> " + goal[0].innerHTML;


Habe jetzt 'player-name' genommen, dass funktioniert auch!
Brauche aber wie geschrieben die id des Teams und nicht den Spieler (war nur ein Test)...
Möchte somit immer das 1. Team wiedergeben...
 
Zuletzt bearbeitet von einem Moderator:
Eigentlich sollte #goalgetters tbody tr:nth-child(1) a als Selektor funktionieren.

Super!
Das hat auf Anhieb geklappt!
Gibt es eine einfache Möglichkeit das ganze auch zu erweitern und aus der gleichen Zeile weiter Elemente mit zu lesen.
Zum Beispiel der nächste Wert:

HTML:
</td>
<td class="last-column">0</td>

^^in dem Fall die Null
 
Wenn du beim Selektor am Ende das "a" weg lässt, bekommst du die komplette Zeile. Da kannst du dann auswählen, was du willst.
 
Wenn du beim Selektor am Ende das "a" weg lässt, bekommst du die komplette Zeile. Da kannst du dann auswählen, was du willst.

Gut, dass hat auch geklappt!:)

Die Zeile wird aber nicht gerade schön dargestellt, jetzt wollte ich die Werte einzeln mit anzeigen.
Wie stelle ich das an bzw. wie geht es am besten?

Das hat leider nichts gebracht:
HTML:
inhalt.querySelectorAll('#goalgetters tbody tr:nth-child(1) a, td:last-child')
 
a, enfernen.

Aber ich würde mir einfach die Zeile holen und dann mit TR_NODE.getElementsByTagName("td") weiter arbeiten.

Vielen Dank!
Habe es hinbekommen und kann nun so weiter arbeiten:)

Habe jetzt nochmal eine andere Frage, die hier nicht unbedingt reinpasst, aber vielleicht weißt du an was das liegt?:

Seit Firefox Version 50 verlinkt er im Spiel falsch.
Es gibt im Spiel eine Turnier Seite, bei jedem Turnier kann man die Spielpaarungen ansehen.
Die sind so aufgebaut: 1,2,3,... Seite, die Zahlen verlinken zu nächsten Seite (wie bei Google...).
Aber nur der Firefox haut zusätzliche Zahlen/Symbole in den Link:

HTML:
http: //fussballcup.de/#/index.php?w=301&area=user&module=tournament&action =tournament&_=1479650458&tournament=1474634%0A%09% 09%09%09%09&section=running%0A%09%09%09%09%09&subS ection=repertoire%0A%09%09%09%09%09&%20posrunning= &pos_repertoire=3

Diese stellen sind zu viel: 09%09&%...
Also wird man falsch verlinkt, Seite existiert nicht.
Das ganze klappt aber mit allen anderen Browser Problemlos...
Habe schon alle Add-Ons deaktiviert, abgesicherter Modus verwendet, aber trotzdem kein Erfolg.

An was kann das Liegen?
 
An falschem HTML. Schau' mal in den Quelltext, was da genau drin steht. Mein Verdacht ist, dass die URL Zeilenumbrüche und Einrückungen drin hat.

So schaut das ganze aus:

fire.PNG


Wenn ich aber mit der Maus "drüber" stehe oder es eben anklicke kommt das:
http: //fussballcup.de/#/index.php?w=301&area=user&module=tournament&action =tournament&_=1479650458&tournament=1474634%0A%09% 09%09%09%09&section=running%0A%09%09%09%09%09&subS ection=repertoire%0A%09%09%09%09%09&%20posrunning= &pos_repertoire=3

Aber warum kann der Firefox jetzt nicht mehr damit umgehen?
 
Das ist zwar nicht der Quelltext (den bekommst du mit Strg + U), aber das sieht definitiv falsch aus. In URLs sollten keine Zeilenumbrüche/Einrückungen vorhanden sein.

Aber warum kann der Firefox jetzt nicht mehr damit umgehen?
Wird sich bei Mozilla schon jemand was dabei gedacht haben. Ev. gab' es dazu sogar einen Bug. Die Frage ist, warum der Seitenbetreiber erwartet, dass der Browser in der URL einfach Zeichen ignorieren soll.
 
Das ist zwar nicht der Quelltext (den bekommst du mit Strg + U), aber das sieht definitiv falsch aus. In URLs sollten keine Zeilenumbrüche/Einrückungen vorhanden sein.


Wird sich bei Mozilla schon jemand was dabei gedacht haben. Ev. gab' es dazu sogar einen Bug. Die Frage ist, warum der Seitenbetreiber erwartet, dass der Browser in der URL einfach Zeichen ignorieren soll.

Ist gar nicht so einfach den auszulesen...
Genau die stelle bekomme ich nicht zu sehen im Quelltext.

HTML:
<a href="#/index.php?w=301&area=user&module=tournament&action=tournament&tournament=1474634&section=running&posrunning=&_=1489160699">Murmelturnier</a></td><td><span class="icon round_robin" tooltip="tt_tournament_type_round_robin"></span></td><td class="name-column">

Von dem Betreiber brauchen wir erst gar nicht anfangen, der behauptet das der ganze Code "zerschossen" sei...
Ich weiß nicht ob man das so behaupten kann, deswegen auch keine Updates mehr, würde nur noch mehr Bugs bringen, so die aussage...
 
Zuletzt bearbeitet:
Genau die stelle bekomme ich nicht zu sehen im Quelltext.
Schau' dir einfach mal den Netzwerkverkehr der Seite an (F12 und dann Netzwerkanalyse), da wird dann schon irgendwo der Inhalt zu diesem Link drin sein.

Von dem Betreiber brauchen wir erst gar nicht anfangen
Will der das sterben lassen?

Aber ich habe gerade probiert, das Problem irgendwie nachzubauen und schaffe es nicht. Firefox und Chrome verhalten sich, soweit ich das getestet habe, identisch. Wo sieht man denn die falschen Links?
 
Schau' dir einfach mal den Netzwerkverkehr der Seite an (F12 und dann Netzwerkanalyse), da wird dann schon irgendwo der Inhalt zu diesem Link drin sein.


Will der das sterben lassen?

Aber ich habe gerade probiert, das Problem irgendwie nachzubauen und schaffe es nicht. Firefox und Chrome verhalten sich, soweit ich das getestet habe, identisch. Wo sieht man denn die falschen Links?

Also mit dem Game kann man wirklich richtig Geld verdienen.
Mittlerweile gibt es fussballcup 10 Jahre und seit 2012 wird daran nicht mehr weiterentwickelt.
Der Betreiber hat die Entwickler von dem Projekt abgezogen, da das Unternehmen sich neu ausrichten wollte...
Seit 2012 läuft es nur noch nebenbei, aber die Einnahmen sind nach wir vor hoch, da sonst schon lange Schluss wäre.
Es gibt auch eine Menge Vorschläge für die Weiterentwicklung, aber niemand von dem Betreiber der es mehr umsetzt.
Das Game hatte mal 1 Millionen Spieler und war auch Browsergame of the Year 2007.

Aber nun zum Problem:

Du gehst auf die Saison Seite, danach auf Turniere und dann auf Laufende Turniere.
Dann suchst du dir ein Turnier aus der Liste aus und klickst auf das Fragezeichen Symbol, dann öffnet sich ein Fenster bei dem du auf Spielpaarungen klickst.
Jetzt kommt der Fehler, wenn du auf Seite 2,3... dir die weiteren Spielpaarungen ansehen willst, Firefox wirft uns dann immer wieder auf die Turnier Startseite.

Ich hoffe das Klappt noch:

Testaccount:

loginanme: autoitbot
PW: autoitbot

Danke für die Unterstützung!
 
Ah... ich konnte das Problem reproduzieren. Hab' oben übersehen, dass es um den Hash-Part der URL geht.
Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<style type="text/css"></style>
</head>
<body>
<a href="#a
		b">test</a>
<a href="#
		b">test</a>
<a href="#a
		">test</a>
</body>
</html>
Die URL sieht im Chrome anders aus als im Firefox.

Das scheint mir ein Firefox-Bug zu sein -> erstelle einen Bug-Report, dann wird das hoffentlich repariert.

Etwas ähnliches scheint es aber schon einmal gegeben zu haben: https://bugzilla.mozilla.org/show_bug.cgi?id=1189852
 
OK, danke!

Wie du jetzt erfahren hast, wird das Game nicht weiter Entwickelt.
Wir wollen da ein bisschen Pepp mit reinbringen, in Form von den Gimmicks.

Dazu habe ich jetzt noch eine Frage.
Wenn ich ein neues Thema erstellen soll, sag bitte Bescheid und lösche den Post.

Also wir habe uns überlegt das ganze mit Sound zu unterstützen.
Ich habe schon mal irgendwo gelesen, dass man einzelne Button mit einem Sound per Javascript versehen kann.

Meine Frage:

Ist es möglich, wenn ein Ereignis auf der Seite geschieht, dass dann mit dem Script ein Sound abgespielt wird?

Beispiel:
Im Live-Ticker fällt ein Tor, dass Element oddgoal wird auf der Seite erzeugt und genau dann soll der Sound ausgegeben werden.

Ist das technisch irgendwie möglich mit Javascript?
 
Zuletzt bearbeitet von einem Moderator:
Technisch ist das schon möglich. Willst du da wieder ein Greasemonkey-Skript machen/erweitern? Das wird dann aber etwas aufwändiger, das robust hinzubekommen, wenn die Webseite das eigentich nicht direkt integriert hat.

Ja genau wieder mit Greasemonkey bzw. Tampermonkey. Wir haben ja leider kein Zugriff auf den Server. Schon mal gut zu wissen, dass man es mit Javascript versuchen kann. Werde mal schauen ob ich jemanden finden kann, der Zeit und Lust hat und natürlich die nötigen Kenntnisse dazu.

Hier kann dan zu gemacht werden.

Nochmal vielen Dank!
 
Zurück
Oben