Hallo,
ich hoffe mir kann Jemand helfen:
Ich bin ein Fan von ChatGPT und hätte mir gerne alle meine "Conversations" von ChatGPT heruntergeladen, was ChatGPT leider nicht selbst anbietet.
Durm habe ich dieses Tampermonkey script gefunden
ChatGPT Exporter
und versuche es seit Tagen so anzupassen dass ich mit einem zusätzlichen button dort alle Skripte auf einmal herunterlade als HTML.
Der relevante Code, der beim Klick auf den Button ausgeführt wird, ist der hier:
Bei der 2. for Schleife soll er ja jedes der Kindernodes einmal anklicken und dann ein paar Sekunden warten.
Leider macht er das mit dem Klick aber nicht!
Dort sind um die 20 Kindernodes drin und nur die ersten 2 (also i=0 und i=1) klickt er an,
die Nachfolgenden klickt er einfach nicht mehr
console.log wird korrekt ausgeführt, also i wird korrekt erhöht.
Der auskommentierte exportToHTML(...) Part funktioniert auch, habe es nur auskommentiert weil das Problem ja am Klicken liegt derzeit.
Alles klappt, nur klickt er mir nicht alle Kinder an!
Hatte zuvor es direkt mit iterieren über die live ChildNodes Lsite versucht, danahc nun über eine Array Version davon, Ergebnis immer Dasselbe:
Nur die ersten 2 Sachen werden angeklickt!
Von Hand kann ich problemlos die 30 divs der Reihe nahc anklicken, auch ohne eine 4 Sekunden Pause zu machen, nur die click() Funktion macht nicht mit :-/
Weiß jemand woran das liegen könnte?
Oder ob die Seite oder der Server an sich irgendwie das "Faken" eines Mausklicks unterbindet?
Abe rhalt verdächtig warum es immer genau bei den ersten 2 Sachen geht und dann nicht mehr....
Übrigens, wenn eins der Teile geklickt wird, ändern sich die Klassen der Kinder etwas.
Könnte das da irgendwie für Probleme sorgen?
ich hoffe mir kann Jemand helfen:
Ich bin ein Fan von ChatGPT und hätte mir gerne alle meine "Conversations" von ChatGPT heruntergeladen, was ChatGPT leider nicht selbst anbietet.
Durm habe ich dieses Tampermonkey script gefunden
ChatGPT Exporter
und versuche es seit Tagen so anzupassen dass ich mit einem zusätzlichen button dort alle Skripte auf einmal herunterlade als HTML.
Der relevante Code, der beim Klick auf den Button ausgeführt wird, ist der hier:
Javascript:
async function exportToHtmlAll(fileNameFormat){
let a=document.body.querySelector('div.flex.flex-col.gap-2.text-gray-100.text-sm');
let he=a.lastChild;
while(he!==null && he.nodeName == "BUTTON"){
he.click();
he=a.lastChild;
await sleep(1000);
}
let tags=a.childNodes;
var array = Array.from(tags);
for(let i=0;i<array.length;i++){
array[i].click();
await sleep(2000);
//await exportToHtml(array[i].textContent);
console.log(array[i].textContent);
await sleep(2000);
console.log(i+"th download done!");
}
return;
}
Leider macht er das mit dem Klick aber nicht!
Dort sind um die 20 Kindernodes drin und nur die ersten 2 (also i=0 und i=1) klickt er an,
die Nachfolgenden klickt er einfach nicht mehr
console.log wird korrekt ausgeführt, also i wird korrekt erhöht.
Der auskommentierte exportToHTML(...) Part funktioniert auch, habe es nur auskommentiert weil das Problem ja am Klicken liegt derzeit.
Alles klappt, nur klickt er mir nicht alle Kinder an!
Hatte zuvor es direkt mit iterieren über die live ChildNodes Lsite versucht, danahc nun über eine Array Version davon, Ergebnis immer Dasselbe:
Nur die ersten 2 Sachen werden angeklickt!
Von Hand kann ich problemlos die 30 divs der Reihe nahc anklicken, auch ohne eine 4 Sekunden Pause zu machen, nur die click() Funktion macht nicht mit :-/
Weiß jemand woran das liegen könnte?
Oder ob die Seite oder der Server an sich irgendwie das "Faken" eines Mausklicks unterbindet?
Abe rhalt verdächtig warum es immer genau bei den ersten 2 Sachen geht und dann nicht mehr....
Übrigens, wenn eins der Teile geklickt wird, ändern sich die Klassen der Kinder etwas.
Könnte das da irgendwie für Probleme sorgen?
Zuletzt bearbeitet von einem Moderator: