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

javascript auf Webseite direkt laden

p2010

New member
Hallo zusammen,

ich programmiere momentan etwas in Visual Basic womit ich Daten von einer Seite extrahiere und in Excel einfüge. Ich muss dazu sagen, natürlich ist das nicht meine Webseite, sondern ich bin lediglich als User angemeldet.

Leider sind einige Daten durch eine Javascript funktion "versteckt", die man erst öffnen muss. wenn man dieses "+"-Zeichen anklickt tauchen die Informationen. Folgender Link zeigt also das Event? (weiß nicht ob hier sprachlich richtig)

*/members/canvas.asp#javascript:fCollapse(0);

Da das ganze teilweise >50 Datensätze sind wäre hier eine automatisierung, anstatt jedes einzelneanzuklicken, sehr hilfreich.
Das ganze würde ich gerne einfach durch ein Addon oder Tastenklick realisieren. z.B. ein Addon welches alle Javascript Events? ausführt, sozusagen alle events auf der seite startet und alle "Klappen" geöffnet werden, sodass ich einfach die Daten kopieren kann.

habe zuerst an die Javascript Umgebung im Firefox gedacht. und würde dort gerne einfach folgendes für den anfang ausführen:
Code:
document.getElementById('p_toggle0').click();
im Quelltext steht also folgendes
Code:
<div id="p_toggle0" class="lnps i" style="cursor: default;">

    <a href="canvas.asp#javascript:fCollapse(0);" onclick="fncShowFunction('javascript:fCollapse(0);');return false;"
style="cursor: pointer;"></a>

</div>
wobei p_toggle1,2 etc die anderen Elemente heißen. Leider funktioniert es noch nicht ganz. Einige andere Elemente lassen sich problemlos ansprechen, dieses hingegen nicht. Vielleicht gibt es auch einen anderen befehl der einfach ALLE Javascript-Elemente ausführt.


Viele Grüße und danke für jeden Hinweis schonmal
 
:javascript-Links sollte man nicht mehr benutzen... Außerdem hast du irgendwie unnötigerweise 2 Aufrufe der Funktion:
HTML:
<a onclick="fCollapse(0)" style="cursor: pointer;">collapse</a>
 
du mußt den Klick auf das <a> machen, nicht auf das <div>.

danke, macht dann doch irgendwie sinn. wie schaffe ich es den jetzt das <a> anzusprechen?

:javascript-Links sollte man nicht mehr benutzen... Außerdem hast du irgendwie unnötigerweise 2 Aufrufe der Funktion:
HTML:
<a onclick="fCollapse(0)" style="cursor: pointer;">collapse</a>

ich hatte glaube ich geschrieben, dass es nicht meine eigene seite ist , sondern eine, welche ich "manipulieren" möchte um die die daten kopieren zu können.
 
je nach browser kannst du damit aber auf einem TextNode (whitespce zwischen </div> und <a>) landen. je nach gewünschten support-Grad geht auch .children[0].click() oder .firstElementChild.click().
mir würde der Support für Firefox völlig ausreichen. Gerade die integrierte Javascript Umgebung habe ich bei keinem anderen Browser auf Anhieb gefunden und macht das ausführen kinderleicht.

Edit: also es klappen alle 3 genannten Varianten die hier genannt wurden. danke erstmal dafür!
jetzt würde ich ganze gerne noch variabel machen. sprich toogle0 - toogle###
 
Zuletzt bearbeitet:
konnte das ganze mit einer schleife lösen. Danke dafür
Code:
for (i = 0; i < 120; i++) {
  var n = 'p_toggle';
  var name = n + i;
  document.getElementById(name).firstChild.click();
}


Nun würde ich das ganze auf einer anderen Webseite ebenfalls gute gebrauchen können. Hier sind die Vorraussetzungen ein wenig anders. Es ist eine Tabelle und die grundlegenden Informationen werden angezeigt. Man hat nun die Möglichkeit auf jede einzelene Zeile zu klicken um weitere Informationen zu bekommen. Auch hier wären diese Informationen wichtig.

Code:
<tr id="container_BET_437905362" class="row   head-info">
 <td>
         
 <div class="row-head top-info first" data-info-minimized="true" data-history-entry-id="437905362" data-history-entry-type="BET" data-external-server="false">
<div class="date">10 Jan 16:07</div>
<div class="result">€ 7.75</div>
<div class="clear"></div>
hier einmal der ausschnitt der wichtig wäre. Jede Zeile sieht identisch aus. Beim Klick, soviel habe ich bereits herausgefunden ändert sich die Klasse des <tr> von "row" zu "row head-info".
Da die Tabelle zweifarbig ist (weiß und hellblau abwechselnd), ändert sich die Klasse des zweiten <tr> von "row bg" zu "row bg head-info".

Nochmal zu Verständnis, ich möchte also alle tr's au der seite öffnen. Also den Wert der Klasse von "row"/"row bg" zu "row head-info"/"row bg head-info" ändern. Ich hoffe das war Verständlich genug und bedanke mich schonmal für jegliche Hilfe.

Gruß
 
Zurück
Oben