• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Amazon Bestellungen Exportieren (the hard way)

iSouli

Neu angemeldet

Registriert
18 Nov. 2017
Beiträge
1
Ich habe einige Käufe mit Amazongutscheinen getätigt, wodurch der Preis als EUR 0,00 angezeigt wird, und mir somit keine richtige Summe berechnet wird.
Könntest du dies anpassen und beheben? Falls du eine Gegenleistung dafür möchtest, wäre ich bereit dir eine kleine Summe zu bezahlen.


mit freundlichen Grüßen
 

abflussrohr

Hat keine Zeit :(

Registriert
4 Aug. 2013
Beiträge
104
Ort
Frankfurt
  • Thread Starter Thread Starter
  • #122
Das Script schaut sich ja nur die Bestellübersichtsseiten an (nicht die Bestelldetails). Wenn darin der Gutscheinwert nicht enthalten ist, dann lässt sich dieser auch nicht ohne weiteres auslesen.
 

pspzockerscene

Hoster Freak

Registriert
15 Juli 2013
Beiträge
1.153
Ort
DE
Wenn darin der Gutscheinwert nicht enthalten ist, dann lässt sich dieser auch nicht ohne weiteres auslesen.
Steht nur auf der Detailseite - ist 0 € in der Übersicht.

Man müsste die letzte Summe bei "Geschenkgutschein(e)" als plus nehmen und dann gäbe es noch den Fall, dass das Geschenkguthaben nicht ausreicht, um die komplette Summe zu zahlen dann würde bei "Gesamtsumme" noch ein Betrag stehen.

Grüße, psp
 

flobi

Neu angemeldet

Registriert
15 Dez. 2017
Beiträge
5
Hallo Zusammen,

trotz Downgrade auf FF 56.0.2 (64 Bit) komme ich nicht zu der gewünschten Liste.
Bei mir öffnen sich ebenfalls nur zwei Tabs. Einmal die Amazon Bestellhistorie und ein leerer Tab. Mehr passiert dann leider nicht.

Betriebssystem ist Windows 10 Pro ebenfalls 64 Bit. Habt Ihr noch eine Idee an welcher Schraube man drehen muss damit es funktioniert?

Danke für Eure Hilfe vorab :-)
 

abflussrohr

Hat keine Zeit :(

Registriert
4 Aug. 2013
Beiträge
104
Ort
Frankfurt
  • Thread Starter Thread Starter
  • #125
Im FF 57.0.2 funktioniert das Script bei mir auch nicht mehr. Hab aber erst im Januar wieder Zeit da reinzuschauen.
 

flobi

Neu angemeldet

Registriert
15 Dez. 2017
Beiträge
5
Wäre klasse wenn Du es ggf. nochmal anpassen könntest.
Denke ich bin nicht der einzige für den das Thema interessant ist :-)
Frohe Weihnachten vorab :-)
 

emilio

Neu angemeldet

Registriert
29 Dez. 2017
Beiträge
3
Hallo, erstmal vielen Dank für dein tolles Skript, Ich liebe es!!

Beim heutigen Export ist mir aufgefallen, dass die Produktbeschreibungen nun fehlen, da hat Amazon wohl was geändert (siehe Attachment).

Eine Verbesserung hätte ich noch: beim CSV-Export wäre es toll weitere Felder dabei zu haben (ich habe es für mich modifiziert) wie z.B. Datum;BestellNr;Beschreibung;Preis;Produkte

amz.JPG
 

flobi

Neu angemeldet

Registriert
15 Dez. 2017
Beiträge
5
Kannst Du vielleicht noch Angaben zum verwendeten Browser inkl. Version sagen? Bei mir läuft es nach wie vor leider nicht :-(
 

nikolaus

Neu angemeldet

Registriert
31 Dez. 2017
Beiträge
3
Ja, leider bei mir auch nur noch weisse Seite und Standardbestellübersicht , trotz aller empfohlenen Tricks, alter Firefox Version etc...
Das Tool war so toll...schnüff :( .
Lade Dich zum Muntermachen auch gerne auf einen Latte Macchiato ein - Goetheplatz! :coffee: :D
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.560
Hätte ich einen Amazon Account, hätte ich diese Software schon lange in Add-on oder Kompatibeles Skript gebrannt oder zumindest es umgeschrieben, aber da ich keinen Amazon Account habe, wird daraus nichts....

Und ja, es wäre verlockend, bei der Userbase :D
 
Zuletzt bearbeitet:

flobi

Neu angemeldet

Registriert
15 Dez. 2017
Beiträge
5
Hallo Zusammen,
erstmal ein gesundes Neues Jahr :-) Wollte man hören ob es schon etwas neues von der "Front" gibt?
 

nikolaus

Neu angemeldet

Registriert
31 Dez. 2017
Beiträge
3
...das wäre auch für mich spannend zu wissen. Können wir irgendwie unterstützen? Muss ja nicht alles auf einem Paar Schultern liegen...
 

abflussrohr

Hat keine Zeit :(

Registriert
4 Aug. 2013
Beiträge
104
Ort
Frankfurt
  • Thread Starter Thread Starter
  • #134
Ich sitze morgen ein paar Stunden im Zug, da werd ich mal beginnen das Script umzuschreiben.
 

flobi

Neu angemeldet

Registriert
15 Dez. 2017
Beiträge
5
Klasse :-)
Dann eine gute Reise und vorab vielen vielen Dank!
 

DNA

Neu angemeldet

Registriert
15 Jan. 2018
Beiträge
2
Ich habs zum laufen bekommen im aktuellen Firefox.

Habe das Script von hier genommen
https://github.com/GameScripting/amazon-parser

Also nur den Inhalt der amazonparser.js !

[src=javascript](function() {

function getClassElement( node, name )
{
if (node == null)
return null;

if( node.className == name ) return node;
for( var i = 0; i < node.childNodes.length; i++ )
{
var element = getClassElement( node.childNodes[ i ], name );
if( element ) return element;
}
return null;
}

function getClassElements( node, name )
{
if (node == null)
return null;

if( node.className == name ) return [ node ];
var elements = [];
for( var i = 0; i < node.childNodes.length; i++ )
{
elements = elements.concat( getClassElements( node.childNodes[ i ], name ) );
}
return elements;
}

function getTagElement( node, name )
{
if( node.nodeName == name ) return node;
for( var i = 0; i < node.childNodes.length; i++ )
{
var child = getTagElement( node.childNodes[ i ], name );
if( child ) return child;
}
return null;
}

function findOrders( doc, year, page )
{
var orderLevels = doc.getElementsByClassName( "order-info" );
var orderBars = doc.getElementsByClassName( "a-box-group a-spacing-base" );

orders[ year ].pages[ page ].done = true;

if( orderLevels.length != orderBars.length )
{
console.log( "Syntax Error " + year + "/" + page );
return;
}

for( var i = 0; i < orderLevels.length; i++ )
{
var order = { "price" : "0,00", "date" : "?", "link" : "", "names" : [], "prices" : [], "products" : 0 , "recip" : ""};

var priceElement = getClassElement( orderLevels[ i ], "a-column a-span2" );
if( priceElement )
{
// sometimes there is no price listed next to the item anymore, so we have to check that and insert 0,00 if it's missing
var price_tag = priceElement.getElementsByClassName('a-color-secondary value');
if (price_tag.length > 0) {
order.price = priceElement.getElementsByClassName('a-color-secondary value')[0].innerHTML.replace(/EUR/,"").replace(/Summe/,"").replace(/.*coins/i,"0,00").trim();
}
else {
order.price = "0,00";
}
}
else
{
console.log( "No price found " + year + "/" + page );
}

var recipElement = getClassElement( orderLevels[ i ], "a-column a-span6 recipient a-span-last" );
if( recipElement )
{
var recip_tag = recipElement.getElementsByClassName('trigger-text');
if (recip_tag.length > 0) {
order.recip = recipElement.getElementsByClassName('trigger-text')[0].innerHTML.trim();
}
else {
order.recip = "?";
}
}
else
{
console.log( "No recipient found " + year + "/" + page );
}

var dateElement = getClassElement( orderLevels[ i ], "a-color-secondary value" );
if( dateElement )
{
order.date = dateElement.innerHTML.trim();
}
else
{
console.log( "No date found " + year + "/" + page );
}

var linkElement = orderLevels[ i ].getElementsByTagName('a')[1];
if( linkElement )
{
order.link = linkElement.href;
}
else
{
console.log( "No link found " + year + "/" + page );
}

var nameElements = getClassElements( orderBars[ i ], "a-fixed-left-grid-col a-col-right" );
if( nameElements.length > 0 )
{
var names = [];
var prices = [];

for( var j = 0; j < nameElements.length; j++ )
{
// sometimes there is no link to the item, then we have to fetch the name of the item from the div tag
var a_tags = nameElements[ j ].getElementsByTagName('A');
if (a_tags.length > 0) {
names.push( nameElements[ j ].getElementsByTagName('A')[0].innerHTML.trim() );
}
else {
names.push( nameElements[ j ].getElementsByTagName('DIV')[0].innerHTML.trim() );
}

var a_price = getClassElement(nameElements[j],'a-size-small a-color-price');
if (a_price) {
prices.push(a_price.textContent.trim());
}
}
order.names = names;
order.prices = prices;
order.products = names.length;
}
else
{
console.log( "No names found " + year + "/" + page );
}

orders[ year ].pages[ page ].entries.push( order );
}
}

function findShipments(doc, year, page) {
var orderElements = doc.getElementsByClassName('a-box-group a-spacing-base');
for (var i = 0; i < orderElements.length; i++) {

var orderNumber = "";
var orderPrice = "";
var orderDate = "";

var orderInfo = orderElements.getElementsByClassName('order-info');
if (orderInfo.length == 1) {

var colRight = orderInfo[0].getElementsByClassName('a-col-right');
if (colRight.length == 1 ) {
var orderNrElements = colRight[0].getElementsByClassName('a-color-secondary value');
if (orderNrElements.length > 0) {
orderNumber = orderNrElements[0].textContent.trim();
}
else {
console.log('No order number found ' + year + '/' + page);
}
}
else {
console.log('No order number found ' + year + '/' + page);
}

var priceElement = getClassElement(orderElements, 'a-column a-span2');
if (priceElement) {
var price_tag = priceElement.getElementsByClassName('a-color-secondary value');
if (price_tag.length > 0) {
orderPrice = priceElement.getElementsByClassName('a-color-secondary value')[0].innerHTML.replace(/EUR/, '').replace(/Summe/, '').replace(/.*coins/i, '0,00').trim();
} else {
orderPrice = '0,00';
}
} else {
console.log('No price found ' + year + '/' + page);
}

var dateElement = getClassElement(orderElements, 'a-color-secondary value');
if (dateElement) {
orderDate = dateElement.innerHTML.trim();
} else {
console.log('No date found ' + year + '/' + page);
}
}

// walking through shipments of the order
var shipmentElements = orderElements.getElementsByClassName('a-box shipment');
for (var s = 0; s < shipmentElements.length; s++) {
var shipment = {
'orderNumber' : orderNumber,
'orderPrice' : orderPrice,
'orderDate' : orderDate,
'date' : '?',
'names': [],
'prices': [],
'price': 0,
'products': 0
};

// finding shipment date:
var topRowElement = getClassElement(shipmentElements, 'a-row shipment-top-row')
var dateElement = getClassElement(topRowElement,'a-size-medium a-color-base a-text-bold');
if (dateElement) {
shipment.date = dateElement.innerHTML.trim();
} else {
console.log('No shipment date found ' + year + '/' + page);
}

// finding Items of the shipment
var nameElements = getClassElements(shipmentElements, 'a-fixed-left-grid-col a-col-right');
if (nameElements.length > 0) {
var names = [];
var prices = [];
var totalCent = 0;
var totalCount = 0;
var priceNotFound = false;

for (var j = 0; j < nameElements.length; j++) {
var a_tags = nameElements[j].getElementsByTagName('A');
if (a_tags.length > 0) {
names.push(nameElements[j].getElementsByTagName('A')[0].innerHTML.trim());
} else {
names.push(nameElements[j].getElementsByTagName('DIV')[0].innerHTML.trim());
}

var qty = getClassElement(nameElements[j].parentElement, 'item-view-qty');
if (qty) {
qty = parseInt ( qty.textContent.trim());
if (isNaN(qty)) {
qty = 1;
}
}
else {
qty = 1;
}

var a_price = getClassElement(nameElements[j],'a-size-small a-color-price');
if (a_price) {
var priceStr = a_price.textContent.trim();
prices.push(priceStr);
var price = priceStr.replace(/EUR/,"").replace(/Summe/,"").replace(/.*coins/i,"0,00").trim().replace(/\./,"").split( "," );
var centPrice = parseInt( price[ 0 ] ) * 100 + parseInt( price[ 1 ] );
if (isNaN(centPrice))
priceNotFound = true;
else
totalCent += centPrice * qty;
}

totalCount += qty;
}
shipment.names = names;
shipment.prices = prices;
shipment.products = totalCount;

if (shipmentElements.length == 1) {
shipment.price = orderPrice;
}
else {
shipment.price = getEuroString(totalCent / 100);
if (priceNotFound)
shipment.price = '*' + shipment.price ;
}
} else {
console.log('No item names in shpiment found ' + year + '/' + page);
}
shipments.push(shipment);
}
}
}

function printState()
{
var s = "";
for( var i = 0; i < orders.length; i++ )
{
s += orders[ i ].year + ":";
if( orders[ i ].pages.length == 0 )
{
s += " waiting...";
}
for( var j = 0; j < orders[ i ].pages.length; j++ )
{
s += " " + ( orders[ i ].pages[ j ].done ? "X" : "." );
}
s += "\n";
}

document.body.innerHTML = "<pre>" + s + "</pre>";
}

function getEuroString( x )
{
var eurocent = ( x.toFixed( 2 ) + "" ).split( "." );
var euro = eurocent[ 0 ];
var euroTsd = "";

for( var i = 0; i < euro.length - 1; i++ )
{
euroTsd += euro.charAt( i );
if( ( ( euro.length - i ) % 3 ) == 1 )
{
euroTsd += ".";
}
}
euroTsd += euro.charAt( euro.length - 1 );

return euroTsd + "," + eurocent[ 1 ];
}

function getOverviewLine( data )
{
return "<tr>" +
"<td align=\"right\">" + data.name + "</td>" +
"<td align=\"right\">" + getEuroString( data.cent / 100 ) + "</td>" +
"<td align=\"right\">" + data.orders + "</td>" +
"<td align=\"right\">" + data.products + "</td>" +
"<td align=\"right\">" + getEuroString( data.cent / 100 / data.products ) + "</td>" +
"<td align=\"right\">" + getEuroString( data.cent / 100 / data.month ) + "</td>" +
"</tr>";
}

function getOrderLine( data )
{
var nameList = "<ul style=\"margin:0; padding:0 0 0 2em\">";
for( var i = 0; i < data.names.length; i++ )
{
nameList += '<li>' + data.names[ i ] + ' | ' + data.prices[ i ] + '</li>';
}
nameList += "</ul>";

return "<tr>" +
"<td align=\"center\" valign=\"top\"><a href=\"" + data.link + "\">Link</a></td>" +
"<td align=\"right\" valign=\"top\">" + data.date + "</td>" +
"<td align=\"center\" valign=\"top\">" + data.products + "</td>" +
"<td align=\"right\" valign=\"top\">" + data.price + "</td>" +
"<td align=\"left\" valign=\"top\">" + data.recip + "</td>" +
"<td align=\"left\" valign=\"top\">" + nameList + "</td>" +
"</tr>";
}

function getShipmentLine( shipment )
{
var nameList = "";
for( var i = 0; i < shipment.names.length; i++ ) {
nameList += shipment.names[ i ] + ' | ' + shipment.prices[ i ] + ' # ';
}

return "<tr>" +
"<td align=\"center\" valign=\"top\">" + shipment.orderNumber + "</td>" +
"<td align=\"right\" valign=\"top\">" + shipment.orderDate + "</td>" +
"<td align=\"center\" valign=\"top\">" + shipment.orderPrice + "</td>" +
"<td align=\"right\" valign=\"top\">" + shipment.date + "</td>" +
"<td align=\"left\" valign=\"top\">" + shipment.products + "</td>" +
"<td align=\"left\" valign=\"top\">" + shipment.price + "</td>" +
"<td align=\"left\" valign=\"top\">" + nameList + "</td>" +
"</tr>";
}


function printOrders()
{
var now = new Date();
var thisYear = "" + ( 1900 + now.getYear() );
var thisYearMonthCount = now.getMonth() + 1;

var allOrders = [];
var years = [];
var overall = { "name" : "Insg.", "cent" : 0, "orders" : 0, "products" : 0, "month" : 0 };

for( var i = 0; i < orders.length; i++ )
{
var yearStr = orders[ i ].year.substr( 5 );
var year = { "name" : yearStr, "cent" : 0, "orders" : 0, "products" : 0, "month" : ( yearStr == thisYear ? thisYearMonthCount : 12 ) };

for( var j = 0; j < orders[ i ].pages.length; j++ )
{
for( var k = 0; k < orders[ i ].pages[ j ].entries.length; k++ )
{
var entry = orders[ i ].pages[ j ].entries[ k ];

var price = entry.price.replace(/\./,"").split( "," );
var cent = parseInt( price[ 0 ] ) * 100 + parseInt( price[ 1 ] );

year.cent += cent;
year.products += entry.products;
year.orders++;

allOrders.push( entry );
}
}

overall.cent += year.cent;
overall.products += year.products;
overall.orders += year.orders;
overall.month += year.month;

years.push( year );
}

var text = "<h2>Uebersicht</h2>";

text += "<table cellspacing=\"0\" cellpadding=\"4\" border=\"1\"><tr>" +
"<th>Jahr</th>" +
"<th>Euro</th>" +
"<th>Bestell.</th>" +
"<th>Produkte</th>" +
"<th>Euro/Prod.</th>" +
"<th>Euro/Monat</th>" +
"</tr>";

text += getOverviewLine( overall );
for( var i = 0; i < years.length; i++ )
{
text += getOverviewLine( years[ i ] );
}
text += "</table>";

text += "<h2>Einzel-Bestellungen</h2>";

text += "<table cellspacing=\"0\" cellpadding=\"4\" border=\"1\"><tr>" +
"<th>Link</th>" +
"<th>Datum</th>" +
"<th>Produkte</th>" +
"<th>Preis</th>" +
"<th>Versandadresse</th>" +
"<th>Produktbeschreibungen</th>" +
"</tr>";

for( var i = 0; i < allOrders.length; i++ )
{
text += getOrderLine( allOrders[ i ] );
}
text += "</table>";

text += "<h2>Lieferungen</h2>";

text += "<table cellspacing=\"0\" cellpadding=\"4\" border=\"1\"><tr>" +
"<th>Bestellnummer</th>" +
"<th>Bestelldatum</th>" +
"<th>Bestellsumme</th>" +
"<th>Lieferdatum</th>" +
"<th>Anzahl Produkte</th>" +
"<th>Summe / Abbuchung</th>" +
"<th>Produkte | Preis</th>" +
"</tr>";

for( var i = 0; i < shipments.length; i++ )
{
text += getShipmentLine( shipments[ i ] );
}
text += "</table>";

document.body.innerHTML = text;
}

function loadOrders( event )
{
if( event.currentTarget.onlyOnce )
{
return;
}
event.currentTarget.onlyOnce = true;

findOrders( event.currentTarget.document, event.currentTarget.yearIndex, event.currentTarget.pageIndex );
findShipments( event.currentTarget.document, event.currentTarget.yearIndex, event.currentTarget.pageIndex );

event.currentTarget.close();
}

function loadYear( event )
{
if( event.currentTarget.onlyOnce )
{
return;
}
event.currentTarget.onlyOnce = true;

var doc = event.currentTarget.document;
var as = doc.getElementsByTagName( "a" );
var maxIndex = 0;
for( var i = 0; i < as.length; i++ )
{
if( as[ i ].href.match( /startIndex=(\d+)/ ) )
{
maxIndex = Math.max( maxIndex, parseInt( RegExp.$1 ) );
}
}

var year = event.currentTarget.yearIndex;

for( var i = 0; i <= maxIndex; i += 10 )
{
orders[ year ].pages.push( { "done" : false, "entries" : [] } );
}

findOrders( doc, year, 0 );
findShipments( doc, year, 0 );

var pageUri = "https://www.amazon.de/gp/css/order-history/gp/css/order-history/ref=oss_pagination?ie=UTF8&orderFilter=" +
orders[ year ].year + "&search=&startIndex=";

var pageIndex = 1;
for( var i = 10; i <= maxIndex; i += 10 )
{
var pageTab = window.open( pageUri + i );
pageTab.yearIndex = year;
pageTab.pageIndex = pageIndex;
pageTab.addEventListener( "load", loadOrders, true );

pageIndex++;
}

event.currentTarget.close();
}

function loadYearCount( event )
{
if( event.currentTarget.onlyOnce )
{
return;
}
event.currentTarget.onlyOnce = true;

var doc = event.currentTarget.document;
var form = doc.getElementsByClassName('time-period-chooser a-spacing-none')[0];
var filter = doc.getElementsByName('orderFilter')[0];

for( var i = 0; i < filter.options.length; i++ )
{
var regex = /year-(\d\d\d\d)/;
if( regex.exec( filter.options[ i ].value ) )
{
orders.push( { "year" : filter.options[ i ].value, "pages" : [] } );
}
}

//orders.splice( 0, orders.length - 2 );

var yearUri = "https://www.amazon.de/gp/css/order-history?";
for( var i = 0; i < form.elements.length; i++ )
{
var element = form.elements[ i ];
if( element == filter )
{
continue;
}

yearUri += encodeURIComponent( element.name ) + "=" + encodeURIComponent( element.value ) + "&";
}
yearUri += "orderFilter=";
//alert( yearUri );

for( var i = 0; i < orders.length; i++ )
{
var yearTab = window.open( yearUri + orders[ i ].year );
yearTab.yearIndex = i;
yearTab.addEventListener( "load", loadYear, true );
}

waitInterval = setInterval( waitForFinish, 1000 );

event.currentTarget.close();
}

function waitForFinish()
{
printState();

for( var i = 0; i < orders.length; i++ )
{
if( orders[ i ].pages.length == 0 )
{
return;
}
for( var j = 0; j < orders[ i ].pages.length; j++ )
{
if( !orders[ i ].pages[ j ].done )
{
return;
}
}
}

clearInterval( waitInterval );
printOrders();
}

var orders = [];
var shipments = [];
var waitInterval;

var mainTab = window.open("https://www.amazon.de/gp/css/order-history/ref=ya_orders_css");
mainTab.addEventListener( "load", loadYearCount, true );

})();[/src]

Pop-Ups erlauben/zulassen für Amazon und den Wert dom.popup_maximum in der about:config höher setzen z.B. auf 100.

Wichtig war noch:
Statt Punkt 7. Unter "Umgebung" sollte jetzt "Browser" anwählbar sein (dafür war die about:config-Einstellung zuständig), anwählen.
Im Inhalt lassen.
Danach wie gewohnt das Script ausführen.


Oder einfach direkt in der Entwicklerkonsole ausführen STRG+SHIFT+C (Konsole und Code unten rein kopieren bei den >>


Funktioniert auch in Google Chrome mit der Entwicklerkonstole wenn ihr vorher Pop-Ups erlaubt für
[src=text]
Unter chrome://settings/content/popups?search=pop-ups

[*.]amazon.de

eintragen
[/src]


Einfachste Möglichkeit:
Als Bookmark sieht das ganze dann so aus:
Einfach als Bookmark/Lesezeichen abspeichern dann brauch man es nicht jedesmal in die Konsole posten und brauch nur auf den Link zu klicken:

[src=text]javascript:void(function(){!function(){function e(t,r){if(null==t)return null;if(t.className==r)return t;for(var n=0;n<t.childNodes.length;n++){var a=e(t.childNodes[n],r);if(a)return a}return null}function t(e,r){if(null==e)return null;if(e.className==r)return[e];for(var n=[],a=0;a<e.childNodes.length;a++)n=n.concat(t(e.childNodes[a],r));return n}function r(r,n,a){var o=r.getElementsByClassName("order-info"),l=r.getElementsByClassName("a-box-group a-spacing-base");if(m[n].pages[a].done=!0,o.length!=l.length)return void console.log("Syntax Error "+n+"/"+a);for(var s=0;s<o.length;s++){var i={price:"0,00",date:"?",link:"",names:[],prices:[],products:0,recip:""},g=e(o,"a-column a-span2");if(g){var c=g.getElementsByClassName("a-color-secondary value");c.length>0?i.price=g.getElementsByClassName("a-color-secondary value")[0].innerHTML.replace(/EUR/,"").replace(/Summe/,"").replace(/.*coins/i,"0,00").trim():i.price="0,00"}else console.log("No price found "+n+"/"+a);var d=e(o,"a-column a-span6 recipient a-span-last");if(d){var h=d.getElementsByClassName("trigger-text");h.length>0?i.recip=d.getElementsByClassName("trigger-text")[0].innerHTML.trim():i.recip="?"}else console.log("No recipient found "+n+"/"+a);var p=e(o,"a-color-secondary value");p?i.date=p.innerHTML.trim():console.log("No date found "+n+"/"+a);var u=o.getElementsByTagName("a")[1];u?i.link=u.href:console.log("No link found "+n+"/"+a);var f=t(l,"a-fixed-left-grid-col a-col-right");if(f.length>0){for(var v=[],y=[],N=0;N<f.length;N++){var T=f[N].getElementsByTagName("A");T.length>0?v.push(f[N].getElementsByTagName("A")[0].innerHTML.trim()):v.push(f[N].getElementsByTagName("DIV")[0].innerHTML.trim());var E=e(f[N],"a-size-small a-color-price");E&&y.push(E.textContent.trim())}i.names=v,i.prices=y,i.products=v.length}else console.log("No names found "+n+"/"+a);m[n].pages[a].entries.push(i)}}function n(r,n,a){for(var l=r.getElementsByClassName("a-box-group a-spacing-base"),s=0;s<l.length;s++){var i="",g="",c="",d=l.getElementsByClassName("order-info");if(1==d.length){var h=d[0].getElementsByClassName("a-col-right");if(1==h.length){var p=h[0].getElementsByClassName("a-color-secondary value");p.length>0?i=p[0].textContent.trim():console.log("No order number found "+n+"/"+a)}else console.log("No order number found "+n+"/"+a);var u=e(l,"a-column a-span2");if(u){var m=u.getElementsByClassName("a-color-secondary value");g=m.length>0?u.getElementsByClassName("a-color-secondary value")[0].innerHTML.replace(/EUR/,"").replace(/Summe/,"").replace(/.*coins/i,"0,00").trim():"0,00"}else console.log("No price found "+n+"/"+a);var v=e(l,"a-color-secondary value");v?c=v.innerHTML.trim():console.log("No date found "+n+"/"+a)}for(var y=l.getElementsByClassName("a-box shipment"),N=0;N<y.length;N++){var T={orderNumber:i,orderPrice:g,orderDate:c,date:"?",names:[],prices:[],price:0,products:0},E=e(y[N],"a-row shipment-top-row"),v=e(E,"a-size-medium a-color-base a-text-bold");v?T.date=v.innerHTML.trim():console.log("No shipment date found "+n+"/"+a);var b=t(y[N],"a-fixed-left-grid-col a-col-right");if(b.length>0){for(var B=[],x=[],I=0,w=0,C=!1,L=0;L<b.length;L++){var M=b[L].getElementsByTagName("A");M.length>0?B.push(b[L].getElementsByTagName("A")[0].innerHTML.trim()):B.push(b[L].getElementsByTagName("DIV")[0].innerHTML.trim());var H=e(b[L].parentElement,"item-view-qty");H?(H=parseInt(H.textContent.trim()),isNaN(H)&&(H=1)):H=1;var k=e(b[L],"a-size-small a-color-price");if(k){var P=k.textContent.trim();x.push(P);var z=P.replace(/EUR/,"").replace(/Summe/,"").replace(/.*coins/i,"0,00").trim().replace(/\./,"").split(","),A=100*parseInt(z[0])+parseInt(z[1]);isNaN(A)?C=!0:I+=A*H}w+=H}T.names=B,T.prices=x,T.products=w,1==y.length?T.price=g:(T.price=o(I/100),C&&(T.price="*"+T.price))}else console.log("No item names in shpiment found "+n+"/"+a);f.push(T)}}}function a(){for(var e="",t=0;t<m.length;t++){e+=m[t].year+":",0==m[t].pages.length&&(e+=" waiting...");for(var r=0;r<m[t].pages.length;r++)e+=" "+(m[t].pages[r].done?"X":".");e+="\n"}document.body.innerHTML="<pre>"+e+"</pre>"}function o(e){for(var t=(e.toFixed(2)+"").split("."),r=t[0],n="",a=0;a<r.length-1;a++)n+=r.charAt(a),(r.length-a)%3==1&&(n+=".");return n+=r.charAt(r.length-1),n+","+t[1]}function l(e){return'<tr><td align="right">'+e.name+'</td><td align="right">'+o(e.cent/100)+'</td><td align="right">'+e.orders+'</td><td align="right">'+e.products+'</td><td align="right">'+o(e.cent/100/e.products)+'</td><td align="right">'+o(e.cent/100/e.month)+"</td></tr>"}function s(e){for(var t='<ul style="margin:0; padding:0 0 0 2em">',r=0;r<e.names.length;r++)t+="<li>"+e.names[r]+" | "+e.prices[r]+"</li>";return t+="</ul>",'<tr><td align="center" valign="top"><a href="'+e.link+'">Link</a></td><td align="right" valign="top">'+e.date+'</td><td align="center" valign="top">'+e.products+'</td><td align="right" valign="top">'+e.price+'</td><td align="left" valign="top">'+e.recip+'</td><td align="left" valign="top">'+t+"</td></tr>"}function i(e){for(var t="",r=0;r<e.names.length;r++)t+=e.names[r]+" | "+e.prices[r]+" # ";return'<tr><td align="center" valign="top">'+e.orderNumber+'</td><td align="right" valign="top">'+e.orderDate+'</td><td align="center" valign="top">'+e.orderPrice+'</td><td align="right" valign="top">'+e.date+'</td><td align="left" valign="top">'+e.products+'</td><td align="left" valign="top">'+e.price+'</td><td align="left" valign="top">'+t+"</td></tr>"}function g(){for(var e=new Date,t=""+(1900+e.getYear()),r=e.getMonth()+1,n=[],a=[],o={name:"Insg.",cent:0,orders:0,products:0,month:0},g=0;g<m.length;g++){for(var c=m[g].year.substr(5),d={name:c,cent:0,orders:0,products:0,month:c==t?r:12},h=0;h<m[g].pages.length;h++)for(var p=0;p<m[g].pages[h].entries.length;p++){var u=m[g].pages[h].entries[p],v=u.price.replace(/\./,"").split(","),y=100*parseInt(v[0])+parseInt(v[1]);d.cent+=y,d.products+=u.products,d.orders++,n.push(u)}o.cent+=d.cent,o.products+=d.products,o.orders+=d.orders,o.month+=d.month,a.push(d)}var N="<h2>Uebersicht</h2>";N+='<table cellspacing="0" cellpadding="4" border="1"><tr><th>Jahr</th><th>Euro</th><th>Bestell.</th><th>Produkte</th><th>Euro/Prod.</th><th>Euro/Monat</th></tr>',N+=l(o);for(var g=0;g<a.length;g++)N+=l(a[g]);N+="</table>",N+="<h2>Einzel-Bestellungen</h2>",N+='<table cellspacing="0" cellpadding="4" border="1"><tr><th>Link</th><th>Datum</th><th>Produkte</th><th>Preis</th><th>Versandadresse</th><th>Produktbeschreibungen</th></tr>';for(var g=0;g<n.length;g++)N+=s(n[g]);N+="</table>",N+="<h2>Lieferungen</h2>",N+='<table cellspacing="0" cellpadding="4" border="1"><tr><th>Bestellnummer</th><th>Bestelldatum</th><th>Bestellsumme</th><th>Lieferdatum</th><th>Anzahl Produkte</th><th>Summe / Abbuchung</th><th>Produkte | Preis</th></tr>';for(var g=0;g<f.length;g++)N+=i(f[g]);N+="</table>",document.body.innerHTML=N}function c(e){e.currentTarget.onlyOnce||(e.currentTarget.onlyOnce=!0,r(e.currentTarget.document,e.currentTarget.yearIndex,e.currentTarget.pageIndex),n(e.currentTarget.document,e.currentTarget.yearIndex,e.currentTarget.pageIndex),e.currentTarget.close())}function d(e){if(!e.currentTarget.onlyOnce){e.currentTarget.onlyOnce=!0;for(var t=e.currentTarget.document,a=t.getElementsByTagName("a"),o=0,l=0;l<a.length;l++)a[l].href.match(/startIndex=(\d+)/)&&(o=Math.max(o,parseInt(RegExp.$1)));for(var s=e.currentTarget.yearIndex,l=0;o>=l;l+=10)m.pages.push({done:!1,entries:[]});r(t,s,0),n(t,s,0);for(var i="https://www.amazon.de/gp/css/order-history/gp/css/order-history/ref=oss_pagination?ie=UTF8&orderFilter="+m.year+"&search=&startIndex=",g=1,l=10;o>=l;l+=10){var d=window.open(i+l);d.yearIndex=s,d.pageIndex=g,d.addEventListener("load",c,!0),g++}e.currentTarget.close()}}function h(e){if(!e.currentTarget.onlyOnce){e.currentTarget.onlyOnce=!0;for(var t=e.currentTarget.document,r=t.getElementsByClassName("time-period-chooser a-spacing-none")[0],n=t.getElementsByName("orderFilter")[0],a=0;a<n.options.length;a++){var o=/year-(\d\d\d\d)/;o.exec(n.options[a].value)&&m.push({year:n.options[a].value,pages:[]})}for(var l="https://www.amazon.de/gp/css/order-history?",a=0;a<r.elements.length;a++){var s=r.elements[a];s!=n&&(l+=encodeURIComponent(s.name)+"="+encodeURIComponent(s.value)+"&")}l+="orderFilter=";for(var a=0;a<m.length;a++){var i=window.open(l+m[a].year);i.yearIndex=a,i.addEventListener("load",d,!0)}u=setInterval(p,1e3),e.currentTarget.close()}}function p(){a();for(var e=0;e<m.length;e++){if(0==m[e].pages.length)return;for(var t=0;t<m[e].pages.length;t++)if(!m[e].pages[t].done)return}clearInterval(u),g()}var u,m=[],f=[],v=window.open("https://www.amazon.de/gp/css/order-history/ref=ya_orders_css");v.addEventListener("load",h,!0)}();})();[/src]

Gruß DNA

P.S.: 13.346,77€ :(
 
Zuletzt bearbeitet:

Ariwa

Neu angemeldet

Registriert
29 Jan. 2018
Beiträge
1
@DNA:

hey,
hat echt super mit Chrome geklappt auch ohne Vorkenntnisse.

Hab eindeutig zu viel Geld dort liegen lassen.
 

emilio

Neu angemeldet

Registriert
29 Dez. 2017
Beiträge
3
Also ich bekomme es nicht hin :(

Im firefox lade ich im JS-Fenster die amazonparser.js und stelle bei "Umgebung" nicht auf Browser sondern lasse sie auf Inhalt. Danach ausführen, und es passiert nix.
Auch wenn ich auf Browser stelle passiert nix.

Was muss ich bei Chrome machen um es zu laden und zu starten?
 
Oben