Skip to content

Automatisiertes Verkaufen mit Barcode-Scanner und Sikuli

Momentan bin ich mit Ausmisten meiner Wohnung beschäftigt und bin deshalb
auf Dienste wie rebuy.de gestoßen. Das Geschäftsmodell von rebuy besteht darin, allerlei gebrauchte Ware anzukaufen und anschließend mit möglichst viel Gewinn wieder zu verkaufen. Perfekt um meine ausgelesenen Bücher, zu oft angeschaute Film-DVDs und durchgespielte Spiele loszuwerden.

  1. Einscannen der Barcodes

Um an die ISBN/EAN Nummern der Produkte zu kommen kann man einen der vielen webcam-basierten Barcode Scanner herunterladen. Für OS X habe ich mit Books gute Erfahrungen gemacht. Für andere Betriebssysteme gibt es ein haufen freier Scanner.
Für Mac-Nutzer: Nachdem Books heruntergeladen wurde das Programm öffnen und auf ´New Book´ klicken. Im anschließen erscheinden Fenster ganz unten das Kamera Icon auswählen:

Jetzt kann das scannen beginnen. Ich kopiere mir die ISBN/EANs in eine einfache Textdatei verkaufen.csv:

4030521100497
4006680036656
9783827324474
7321921286872
9783540673262
...

Tipp: Falls kein geeigneter Barcode-Scanner gefunden werden kann einfach abtippen – das ist oft schneller als einen guten Scanner zu finden.

  1. Automatisiertes Eintragen in ein Ankaufsservice

Beim Ankaufsservice habe ich mich für Booklooker entschieden, da hier die genannten Ankaufpreise immer ein paar Cent höher waren als auf rebuy.de selbst.

Für automatisierte Aktionen in der Oberfläche hat sich Sikuli bei mir bereits in der Vergangenheit bewährt. Mit Sikuli kann man kurz gesagt mit Screenshots programmieren. Folgendes Sikuli Skript habe ich verwendet:

Die im ersten Schritt angelegte verkaufen.csv CSV-Datei wird Zeile für Zeile durchlaufen.

  • Um das Such-Formular zu fokusieren klickt das Skript zuerst auf den Suchen-Button auf der Booklooker-Website.
  • csv[0] greift auf den ersten Eintrag der CSV-Zeile zu (also die ISBN/EAN). Ohne Probleme lassen sich in der CSV-Datei weitere Informationen hinterlegen – einfach mit Komma trennen.
  • type("a", KEY_META) selektiert den kompletten Text im Suchfeld.
  • sleep(…) wartet die angegebene Zeit in Sekunden bevor die nächste Aktion ausgeführt wird.

Mit Run kann das Skript gestartet werden – am besten holt man sich jetzt einen Kaffee.

Ist das Skript beendet kommt dann in etwa soetwas raus:

So einfach kanns gehen… bitte vor dem verkaufen trotzdem nochmals alles überprüfen.

© 2022 by Adrian Philipp