
Ich hatte vor kurzem die Idee, Selenium mit Python zu verwenden, um einige sich wiederholende Aufgaben in SAP für einen Kunden zu automatisieren. Und wie immer, wenn man sich mit dem Code die Hände schmutzig macht, Ich fing an, einige Herausforderungen zu finden, die ich nie kommen sah. Nachdem Sie lange im Internet gesucht haben, um die am besten geeignete Lösung für jedes Problem zu finden, habe gedacht:
Wie gut wäre es gewesen, wenn Sie alles, was Sie brauchen, an einem Ort gefunden hätten, einsatzbereit?
Dann, um ihr Leben zu erleichtern, Ich habe in diesem Artikel gesammelt, die Antworten auf die häufigsten Herausforderungen ein Benutzer finden kann, indem er Selenium in Verbindung mit verwendet Out-of-the-box-Code-Snippets in Python geschrieben.
PD: Wenn Sie sich mit den Grundlagen von Selenium immer noch nicht zu Hause fühlen, Sie können unseren Leitfaden für die ersten Schritte mit Selenium lesen. Artikel erste.
Und jetzt lass uns in Aktion treten!
So laden Sie Dateien mit Selenium WebDriver herunter
Wenn Sie Selenium verwenden, um das Surfen zu automatisieren, Möglicherweise müssen Sie Dateien herunterladen. Das Problem ist, dass, Sobald wir den Download-Link auswählen und anklicken, ein natives Dialogfenster erscheint, das manuelle Eingriffe erfordert. Selenium hat keine Kontrolle über die Dateidownloadfenster Ihres Browsers, kann den Downloadvorgang nicht fortsetzen. Glücklicherweise, es gibt immer alternativen.
Um dieses Problem zu lösen, Sie können Ihren Browser autorisieren, Dateien im Voraus automatisch herunterzuladen, und einen Standardspeicherort für Download-Dateien festlegen. Dies kann durch Festlegen der Einstellungen für das WebDriver-Profil erfolgen (Der folgende Code ist für einen Firefox-Browser, Möglicherweise müssen Sie es anpassen, damit es in anderen Browsern funktioniert):
importieren download_dir = os.getcwd()# aktuelles Arbeitsverzeichnis Profil = webdriver.FirefoxProfile() profile.set_preference("browser.download.folderList", 2) # der benutzerdefinierte Speicherort browser.download.dir ist aktiviert, wenn browser.download.folderList gleich ist 2 profile.set_preference('browser.download.dir', download_dir) profile.set_preference("browser.download.manager.showWhenStarting", Falsch) profile.set_preference("browser.download.dir", Weg) profile.set_preference('browser.helperApps.neverAsk.saveToDisk', INHALTSTYP) profile.set_preference("webdriver_enable_native_events", Falsch) profile.set_preference("browser.download.manager.scanWhenDone",Falsch) profile.set_preference("browser.download.manager.useWindow",Falsch) profile.set_preference("browser.helperApps.alwaysAsk.force",Falsch) profile.update_preferences() browser = webdriver.Firefox(firefox_profile=profil)
Sie haben vielleicht bemerkt, dass CONTENT_TYPE
VariableIn Statistik und Mathematik, ein "Variable" ist ein Symbol, das einen Wert darstellt, der sich ändern oder variieren kann. Es gibt verschiedene Arten von Variablen, und qualitativ, die nicht-numerische Eigenschaften beschreiben, und quantitative, numerische Größen darstellen. Variablen sind grundlegend in Experimenten und Studien, da sie die Analyse von Beziehungen und Mustern zwischen verschiedenen Elementen ermöglichen, das Verständnis komplexer Phänomene zu erleichtern.... que necesita reemplazar. In Wirklichkeit, entspricht dem MIME-Typ der Datei, die Sie herunterladen. Wenn Sie mit diesem Begriff nicht vertraut sind, Mime Typ es ist einfach eine Kennung, die verwendet wird, um eine Art von Daten für Inhalte im Internet zu erkennen. Sie dient im Internet dem gleichen Zweck wie Dateierweiterungen in Ihrem Betriebssystem.
Um Ihre Aufgabe zu vereinfachen, Ich habe die MIME-Typen der gängigsten Erweiterungen aus Mozilla-Webdokumenten entfernt, um den Zugang zu erleichtern. Im Widget unten, Sie finden den Code, den Sie verwenden müssen, um den Inhaltstyp zu erhalten, der Ihrer Dateierweiterung entspricht. Sie können die Konsole verwenden, um es sofort zu testen!!
Puede obtener el archivo JSONJSON, o JavaScript-Objekt-Notation, Es handelt sich um ein leichtgewichtiges Datenaustauschformat, das für Menschen leicht zu lesen und zu schreiben ist, und für Maschinen einfach zu analysieren und zu generieren. Es wird häufig in Webanwendungen verwendet, um Informationen zwischen einem Server und einem Client zu senden und zu empfangen. Seine Struktur basiert auf Schlüssel-Wert-Paaren, Dadurch ist es vielseitig einsetzbar und in der Softwareentwicklung weit verbreitet.. copiando y pegando desde el widget de arriba o descargándolo de Github.
Jetzt, Ihr WebDriver sollte in der Lage sein, herunterzuladen, ohne um Erlaubnis zu fragen oder Dialogfenster anzuzeigen 😉