Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Quellcode auslesen und bestimmte Zahl herausbekommen und dann verabeiten?

Frage Entwicklung JavaScript

Mitglied: Maik007

Maik007 (Level 1) - Jetzt verbinden

20.06.2014 um 12:05 Uhr, 1924 Aufrufe, 3 Kommentare

Hallo,
ich beschäftige mich nun mit Javascript und möchte ein Javascript im Firefox laufen lasssen.

Ich habe das Problem, dass ich gerne die Zahl aus dem Code 60.65 heraus bekommen möchte. Diese Zahl verändert sich auch immer wieder.
Wie kann ich hier vorgehen?
Schritt 2 ich möchte dann diese Zahl mit einer festen Zahl von mir vergleichen. Also ist Zahl 60.65 >X oder zwischen x und Y dann tue da ansonsten mache das!

01.
<div class="ms_holder tooltip_left" title="Knowledge - <p>Increases when you buy books.</p>"> 
02.
				<div class="ms_label"> 
03.
					<span class="left"><b>Knowledge</b></span> 
04.
					<span class="right highlighted1" ><b>1.00</b></span> 
05.
					<div class="clear"></div> 
06.
				</div> 
07.
				<div class="ms_gradient" style="width:1px;">&nbsp;</div> 
08.
			</div> 
09.
			<div class="ms_holder tooltip_left" title="Productivity - <p>Is an average between Energy, Experience, Knowledge. The higher these values, the higher the Productivity.</p>"> 
10.
				<div class="ms_label"> 
11.
					<span class="left"><b>Productivity</b></span> 
12.
					<span class="right highlighted1" ><b>60.65</b></span> 
13.
					<div class="clear"></div> 
14.
				</div> 
15.
				<div class="ms_gradient" style="width:7px;">&nbsp;</div> 
16.
			</div>
Über Hilfe würde ich mich sehr freuen. Wie geht ihr hieran?
Mitglied: colinardo
20.06.2014, aktualisiert um 19:31 Uhr
Hallo Maik007,
wenn das der komplette Code der Seite ist kannst du z.B. so die Zahl extrahieren und vergleichen:
01.
// wert extrahieren 
02.
var wert = document.getElementsByClassName("right highlighted1")[1].firstChild.innerHTML; 
03.
 
04.
// den string in float wandeln damit wir Ihn vergleichen können 
05.
var zahl = parseFloat(wert); 
06.
 
07.
// prüfen der Zahl auf ihren Wert 
08.
if (zahl >= 50 && zahl <= 70){ 
09.
	alert("Zahl liegt zwischen 50 und 70"); 
10.
} else if (zahl < 50){ 
11.
	alert("Zahl liegt unter 50"); 
12.
}
Hierbei gibt es ja in deinem Code bereits ein span Element mit den selben Klassen deswegen die Selektierung des zweiten Elements mit [1]. Also musst du je nachdem wieviele dieser Elemente mit den gleichen Klassen auf der Seite existieren den Wert entsprechend anpassen. Die Position kannst du z.B. mit der Eingabe von:
document.getElementsByClassName("right highlighted1")
in die WebKonsole der DeveloperTools in Firefox in Erfahrung bringen (STRG-SHIFT-K).

Grüße Uwe
Bitte warten ..
Mitglied: Maik007
20.06.2014 um 14:59 Uhr
Vielen Dank,
ich glaube nicht, dass ich den Code einfach kopieren kann und asführen kann. Bekomme immer eine Fehlemeldung das document nicht dfiniert ist.
Was müsste man da machen? Gibt es ein schnöne Seite wo ich mehr Beispiele und mehr über Javascript finde. Das scheint echt interessant zu sein!
von dieser Classe gibt es 4 und dann müsste der Befehl
var wert = document.getElementsByClassName("right highlighted1")[4].firstChild.innerHTML;
kauten. Was bedeutet hier firstchild.innerHTML?
Bitte warten ..
Mitglied: colinardo
20.06.2014, aktualisiert 23.06.2014
Zitat von Maik007:
Was müsste man da machen? Gibt es ein schnöne Seite wo ich mehr Beispiele und mehr über Javascript finde. Das scheint echt interessant zu sein!
Wenn du nicht sagst wo du das ganze ausführen willst und wo du die Befehle eingibst, schwer dir Hilfestellung zu leisten. Bitte lese erst mal hier alle Seiten durch (vor dem verstehen kommt lesen:):
von dieser Classe gibt es 4 und dann müsste der Befehl
var wert = document.getElementsByClassName("right highlighted1")[4].firstChild.innerHTML;
wenn das Element was du extrahieren willst das vierte ist, nein, dann müsste der Index 3 lauten , das Array ist 0-basiert!
Was bedeutet hier firstchild.innerHTML?
Der HTML-Inhalt nach dem ersten Kindelement nach dem span also alles was innerhalb vom <b> Element steht:
http://www.w3schools.com/js/js_htmldom.asp

Einen kompletten Anfängerkurs können wir hier verständlicherweise nicht liefern.

Hier noch zum Abschluss ein komplett funktionsfähiges Beispiel das die Änderung der Werte simuliert und je nach Wert im Dokument eine Antwort schreibt:
(als *.html abspeichern und im Browser aufrufen)
01.
<!doctype html> 
02.
<html> 
03.
<head> 
04.
<meta charset="utf-8"> 
05.
<title>extract number and check value</title> 
06.
<script type="text/javascript"> 
07.
var el_ergebnis; 
08.
var el_wert; 
09.
function init(){ 
10.
	el_ergebnis = document.getElementById("ergebnis"); 
11.
	el_wert = document.getElementsByClassName("right highlighted1")[1].firstChild; 
12.
	setInterval(extract,500); 
13.
	setInterval(changeValue,1500); 
14.
15.
function changeValue(){ 
16.
	var wert = (Math.random() * 100).toFixed(2); 
17.
	el_wert.innerHTML = wert;	 
18.
19.
function extract(){ 
20.
	// string in float wandeln 
21.
	zahl = parseFloat(el_wert.innerHTML); 
22.
	// prüfen der zahl 
23.
	if (zahl >= 50 && zahl <= 70){ 
24.
		el_ergebnis.innerHTML = "Zahl liegt zwischen 50 und 70"; 
25.
	} else if (zahl < 50){ 
26.
		el_ergebnis.innerHTML = "Zahl liegt unter 50"; 
27.
	} else if (zahl > 70){ 
28.
		el_ergebnis.innerHTML = "Zahl liegt über 70"; 
29.
30.
31.
</script> 
32.
</head> 
33.
 
34.
<body onLoad="init()"> 
35.
<div class="ms_holder tooltip_left" title="Knowledge - <p>Increases when you buy books.</p>"> 
36.
  <div class="ms_label"> <span class="left"><b>Knowledge</b></span> <span class="right highlighted1" ><b>1.00</b></span> 
37.
    <div class="clear"></div> 
38.
  </div> 
39.
  <div class="ms_gradient" style="width:1px;"> </div> 
40.
</div> 
41.
<div class="ms_holder tooltip_left" title="Productivity - <p>Is an average between Energy, Experience, Knowledge. The higher these values, the higher the Productivity.</p>"> 
42.
  <div class="ms_label"> <span class="left"><b>Productivity</b></span> <span class="right highlighted1" ><b>60.65</b></span> 
43.
    <div class="clear"></div> 
44.
  </div> 
45.
  <div class="ms_gradient" style="width:7px;"> </div> 
46.
</div> 
47.
<div id="ergebnis"></div> 
48.
</body> 
49.
</html>
Viel Erfolg beim Lernen!

Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst HTML-Seiten öffnen und bestimmte Daten auslesen (1)

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...