Betreiben Sie Firefox mit Selen aus Python und speichern Sie die Bildschirmaufnahme

Verfahren

Umweltvorbereitung

python


sudo easy_install selenium

Export aus Selenium IDE

  1. Erstellen Sie einen Testfall mit Selenium IDE.

スクリーンショット 2014-08-28 6.09.55.png

  1. Wählen Sie im Export Python 2 / unitetest / WebDriver

スクリーンショット 2014-08-28 6.10.35.png

  1. Speichern Sie als selenium.py

Selenium.py behoben

Screenshots sind derzeit nicht möglich.

ERROR: Caught exception [ERROR: Unsupported command [captureEntirePageScreenshot | /Users/owner/a.jpg | ]]

Fügen Sie unter der Zeile Folgendes hinzu

python


        driver.save_screenshot("a.jpg ")

Referenz: Seleniumworks: Erfassen des Bildschirms bei Testfehler - WebDriver

Lauf

python


python selenium.py

Stellen Sie sicher, dass Firefox funktioniert und a.jpg generiert wird.

Referenz: Volltext von selenium.py

selenium.py


# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re

class Aa(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://auction.yahoo.co.jp/"
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_aa(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_link_text(u"Meine Auktion").click()
        driver.find_element_by_link_text(u"Hilfe").click()
        driver.find_element_by_link_text(u""Die ID oder das Passwort ist falsch" wird angezeigt").click()
        # ERROR: Caught exception [ERROR: Unsupported command [captureEntirePageScreenshot | /Users/owner/a.jpg | ]]
        driver.save_screenshot("a.jpg ")

    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True

    def is_alert_present(self):
        try: self.driver.switch_to_alert()
        except NoAlertPresentException, e: return False
        return True

    def close_alert_and_get_its_text(self):
        try:
            alert = self.driver.switch_to_alert()
            alert_text = alert.text
            if self.accept_next_alert:
                alert.accept()
            else:
                alert.dismiss()
            return alert_text
        finally: self.accept_next_alert = True

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

Unterstützung für die Basisauthentifizierung

selenium.py


- self.base_url = "http://secret.page.local/"
+ self.base_url = "http://username:[email protected]/"

Unterstützung für xfce4-Desktopsymbole

google.selenium


#!/bin/sh
python google.py

Sie können so etwas wie oben vorbereiten und darauf doppelklicken.

Verhindern Sie, dass Firefox automatisch beendet wird

google.py


+   #def tearDown(self):
+       #self.driver.quit()
+       #self.assertEqual([], self.verificationErrors)

Recommended Posts

Betreiben Sie Firefox mit Selen aus Python und speichern Sie die Bildschirmaufnahme
Python: Arbeiten mit Firefox mit Selen
Scraping mit Python, Selen und Chromedriver
Holen Sie sich Web-Screen-Capture mit Python
Führen Sie Jupyter mit der REST-API aus, um Python-Code zu extrahieren und zu speichern
[Python3] Speichern Sie die Mittelwert- und Kovarianzmatrix in json mit Pandas
Holen Sie sich HTML von Element mit Python-Selen
Betreiben Sie Haushaltsgeräte mit Python und IRKit
Üben des Web-Scrapings mit Python und Selen
Füllen Sie die Zeichenfolge mit Nullen in Python und zählen Sie bestimmte Zeichen aus der Zeichenfolge
[Python] Senden Sie das von der Webkamera aufgenommene Bild an den Server und speichern Sie es
Installieren Sie Chrome in der Befehlszeile von Sakura VPS (Ubuntu) und starten Sie Chrome mit Python über das virtuelle Display und Selen
Versuchen Sie, Google Chrome mit Python und Selenium auszuführen
Ziehen Sie eine lokale Datei mit Selenium (Python) per Drag & Drop.
Archivieren und komprimieren Sie das gesamte Verzeichnis mit Python
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3
Abrufen von Informationen zu Songwriting, Komposition und Arrangement von der Tower Records-Website mit Python
Probieren Sie einen datengesteuerten Test mit Selenium Python Bindings und py.test aus
Lerne Nim mit Python (ab Anfang des Jahres).
Verwenden Sie FireFox (über Homebrew-cask) mit Selenium WebDriver Python-Bindungen
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
Extrahieren Sie Bilder und Tabellen mit Python aus PDF, um die Berichtslast zu verringern
Ich habe versucht, das Artikel-Update des Livedoor-Blogs mit Python und Selen zu automatisieren.
Visualisieren Sie den Bereich der internen und externen Einfügungen mit Python
Kinesis mit Python betreiben
Automatisches Folgen auf Twitter mit Python und Selen! (RPA)
Bedienen Sie Neutronen von Python!
Screenshot mit Selen (Python Edition)
Betreiben Sie Blender mit Python
Betreiben Sie LXC von Python aus
Installieren Sie die neueste stabile Version von Python mit pyenv (sowohl 2 als auch 3).
Erhalten Sie E-Mails von Google Mail und beschriften Sie sie mit Python3
Schaben mit Selen [Python]
Automatisieren Sie Chrome mit Python und Selen auf Ihrem Chromebook
Installieren Sie das neueste Python von pyenv, das von Homebrew installiert wurde
Übersetzen Sie DeepL automatisch mit Python und Selen ins Englische
Betreiben Sie Excel mit Python (1)
Python + Selen + Safari - Führen Sie die iPhone Safari vom Mac mit dem Webdriver aus
Hinweise zum Betrieb von Firefox mit Selen unter Windows
Betreiben Sie Excel mit Python (2)
Ich möchte mit Python nur das Gesicht aus einem Personenbild ausschneiden und speichern ~ Gesichtserkennung und Zuschneiden mit face_recognition ~
Mische die Bilder in einem beliebigen Verzeichnis mit Python und speichere sie in einem anderen Ordner mit Seriennummern.
Setzen Sie Ubuntu in Raspi ein, setzen Sie Docker darauf und steuern Sie GPIO mit Python aus dem Container
Speichern Sie das Eingangsvideo von der Aufnahmekarte als Bild
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Bildschirm und geteilter Bildschirm mit Python- und SSH-Anmeldung am Remote-Server
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Löse das Spiralbuch (Algorithmus und Datenstruktur) mit Python!
Erkennen Sie Ihren Chef mit Deep Learning und verbergen Sie den Bildschirm
[Python] Ich habe das Spiel von pip installiert und versucht zu spielen
Hasch mit Python und entkomme dem Ego eines bestimmten Ministers
Speichern Sie Bilder im Web mit Python (Colab) auf einem Laufwerk.
Bedienen Sie den Browser mit den Python-Bindungen des Selenium Web Driver
Spielen Sie mit dem Passwortmechanismus von GitHub Webhook und Python
Programmieren mit Python und Tkinter
Betreiben Sie Excel mit Python Open Pyxl
Ver- und Entschlüsselung mit Python
Betreiben Sie TwitterBot mit Lambda, Python
Schaben mit Selen in Python