Selenium mit Addons

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

Hallo,

ich möchte gerne ein paar Sachen im Browser ausführen lassen.
Wenn ich diesen mit Selenium starte, ist dieser komplett ohne Addons. Eines bräuchte ich aber.

Im Netz habe ich irgendwie keine Funktionierende Lösung gefunden.
Eine davon war, die url zum Addon mit anzugeben, hier bekomme ich aber immer Fehler:
"PermissionError: [Errno 13] Permission denied: 'C..." egal ob ich pycharm mit admin rechten öffne oder nicht, und auch wenn ich den Ordner auf C: verschiebe.

chrome_options = Options()
chrome_options.add_extension(r"C:\Users\ich\AppData\Local\Google\Chrome\User Data\Default\Extensions\fhbohimaelbohpjbbldcngcnapndodjp\2.8.4_0")
driver = webdriver.Chrome(options=chrome_options)
driver.get('https://www.google.de')

Ich nehme an dass das starten ohne Addons Browserunabhängig ist?
grüße
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Du kannst dem Driver Extensions über `add_extension()` hinzufügen (crx-Datei) und somit wie auf einer normalen Seite damit hantieren. Details z. B. hier.
Ansonsten könntest auch versuchen den Brave Browser zu verwenden. Der beinhaltet die Binance Extension und basiert vollständig auf Chromium, sodass er wie Chrome mit Selenium ansteuerbar sein sollte (oder könnte). Ggf. kannst du dann brave-interne Befehle verwenden. Das ist allerdings nur eine Vermutung.
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

oh nice, du scheinst dich auszukennen.
Mit Brave wäre super, war aber leider schon zu unfähig dafür den zu nehmen. Aber dann versuche ich es nochmal und gehe den Weg.

p.s. leider gibt es hier noch keine spende möglichkeit für brave ;)
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

Läuft jetzt einigermaßen im Brave.

Login in die Wallet konnte ich leider nicht mit Selenium lösen, weil das Fenster wohl nicht davon gefunden werden kann.

Habe jetzt einen check gemacht wie das Fenster im Focus heißt und dann mit pyautogui den Login vorgenommen.
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Aber anstatt das zusammen zu basteln, verwende doch die offizielle API. Dann sparst du dir das Gehampel im Browser und bist vermutlich auch wesentlich schneller. Siehe https://www.binance.com/en/support/faq/c-6?navId=6 und z. B. https://algotrading101.com/learn/binanc ... api-guide/.
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

Ich muss quasi eine Transaktion bestätigen die in der Browser-Wallet aufpoppt.
Suche jetzt auch nach einer besseren Lösung, weiß nur noch nicht wie, hatte gehofft dass das Fenster eine pip bekommt, aber leider nicht.

Die API geht ja direkt auf die Blockchain/Binance Server oder? Also ehr fürs traden entworfen.
__deets__
User
Beiträge: 14535
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wo ist der Unterschied in einer trading Transaktion zu dem was du tust? Handeln ist handeln.
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

ich müsste mit dem smart contract interagieren. Das habe ich bisher nicht geschafft weil man scheinbar die ABI dafür braucht und die habe ich nicht.
Daher gehe ich über das Webinterface und dort bestätige ich dann auch die Transaktion.

Aber ich könnte eventuell mit Selenium die Infos über das Webinterface abrufen und dann mit der API die Transaktion mit den Infos durchführen. Guter Hinweis!
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Gehen wir einen Schritt zurück: Was genau hast du vor? Nicht die Umsetzung in einem Programm, sondern Schritt für Schritt die Aufgaben, die zu erledigen sind.
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

Überprüfen ob eine gewisse Summe an items auf einer adresse liegen. wenn ja dann mit meinem item eine transaktion durchführen.

Also ich packe 5 Kekse in eine Dose. Dann warte ich und wenn dort 200 drin sind (in Summe, auch von anderen) möchte ich einen entnehmen (transaktion durchführen)
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Das ist mir noch etwas abstrakt. Was sind "items", welche "adresse" und was für eine Transaktion? Klingt nämlich erstmal alles so, als könnte man es mit der API lösen.
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

Ok,

wenn eine bestimmte Anzahl an NFTs gestackt sind möchte ich mit meinem NFT eine Transaktion durchführen
Antworten