Ich bin wirklich verwirrt mit Python und Selen. Ich habe sowohl Chrome als auch Phantomjs mit Selen auf Mac eingerichtet und es funktioniert ok.Selen besten Weg zu chrome kopflosen parallelen Instanzen Python
Allerdings kann ich Phantomjs nur als kopflos ausführen, und es wird wirklich frustrierend, Dinge zweimal zu kodieren (für Phantom und Chrom), nur damit ich sehen kann, was passiert. Zumal sie ganz anders funktionieren.
Von dem, was ich verstehe, gibt es diese zwei Dinge:
Docker Selen - https://github.com/elgalu/docker-selenium
Dies ermöglicht ohne Kopf Firefox und Chrome, VNC, um zu sehen, was geschieht.
Selenium Grid Extension - https://github.com/zalando/zalenium
Dies ermöglicht die parallele Ausführung. Wie auch immer, ich frage mich, ob ich das wirklich brauche, da ich meine parallele Ausführung bereits im Unittest geschrieben habe?
Aus früheren Forschung mein Verständnis ist, dass Selen Raster tut wirklich für Python arbeiten (seine Java-basierte)
Wenn jemand mich gerade auf was einstellen, dass zu verwenden wäre toll.
Ich denke, das Chrom ohne Kopf gerade verwenden und hoffentlich werde ich noch in der Lage sein, meine parallele Ausführung zu tun in Unittest
Ernsthaft gesetzt haben mich gerade meinen Freund - Vielen Dank.Ich bin mir nicht sicher über das Coding-Bit, denn was passiert für mich (wenn ich Proxies und einige andere Dinge setze) ist, dass spezifischer Code, der für den verwendeten Treiber relevant ist, notwendig ist, insbesondere bei der Fehlerüberprüfung. Außerdem hat Firefox einige Fehler und bringt keine Fehler, wie es sein sollte (während Chrome dies tut), daher muss ich eine Reihe von Problemumgehungen dafür erstellen. Ich verschwende viel Zeit für mich im Mo, also denke ich, dass ich es zuerst mit Docker/Grid/Chrome kopflos versuchen werde und wenn das dann nicht klappt, geh zu deinem Chromvorschlag. –
NP! Ich bin nicht sicher, wie es in Python zu tun, aber Sie können überprüfen, in welcher Browser Sie laufen, auch wenn Sie mit der Schnittstelle arbeiten .. in C# wird es so etwas wie 'if (typeof (driver) == typeof (FirefoxDriver)) dann handleSpecificError() '. – Moshisho
Das ist wirklich cool, du bist ein Juwel Moshisho. Das spart mir so viel Zeit. Hoffe, du hast einen schönen Tag :) –