[PYTHON] [EC2] Was tun, wenn Selen festsitzt und die Verarbeitung nicht fortgesetzt wird?

[EC2] Was tun, wenn Selen festsitzt und die Verarbeitung nicht fortgesetzt wird?

Error


$Python3-Dateiname.py

selenium.common.exceptions.WebDriverException: 
Message: chrome not reachable

Ursache

Es wurden mehrere Prozesse und Treiber für den Chrome-Browser gestartet. (Da es kopflos ist, kann es nicht visuell bestätigt werden ...)

Ansatz

Abhilfe

1. 1. Überprüfen Sie, ob mehrere Chrome-Treiber gestartet sind.

python


#Alle laufenden Prozesse anzeigen, einschließlich "Chrom"
$ ps aux | grep chrome


#Wenn Sie viele Beschreibungen wie die folgende sehen, werden mehrere Web-Treiber ausgeführt.
Benutzername pts/0    Sl   04:09   0:00 
chromedriver --port=49671

#Wenn Sie viele Anweisungen wie die folgende sehen, werden mehrere Browserprozesse ausgeführt.
Benutzername pts/0    S    04:32   0:00
/opt/google/chrome/chrome --type=broker

ps aux

Befehl --ps: Zeigt den ausgeführten Befehl an --aux ist eine Option --a: Alle Benutzerprozesse --u: Benutzername und Startzeit anzeigen --x: Zeigt Prozesse ohne Steuerterminals an


`| grep text`
### 2. Beenden Sie Chrome Browser & Webdriver

python


killall chrome
killall webdriver

Überprüfen Sie die laufende Datei erneut.

python


$ ps aux | grep chrome


#Nur das Folgende war übrig und die anderen waren fertig.
Benutzername pts/0    S+   04:35   0:00 
grep --color=auto chrome

### 3. 3. Fügen Sie der Verarbeitung quit () hinzu Führen Sie quit () am Ende der .py-Datei aus, um alle Browser zu schließen.

python


#Angenommen, die folgende Beschreibung
browser = webdriver.Chrome(options=options)

browser.quit()

Wenn die Variable zum Starten von Webdriver in einer anderen Beschreibung wie z. B. Treiber beschrieben ist, stimmen Sie damit überein. Beispiel: driver.quit ()


Über, -Die Ausführung der py-Datei wird viel schneller. - Nach der Verarbeitung werden keine Prozesse ausgeführt.

Ergänzung

In einem anderen Artikel gab es so etwas wie das Stoppen der Sandbox und das Hinzufügen von --no-sandbox als Option, aber in meinem Fall wurde die Sandbox nicht gestartet und war unnötig.

Wenn im laufenden Prozess eine Sandbox angezeigt wird, kann es auch sinnvoll sein, Folgendes zu versuchen.

killall chrome-sandbox
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-setuid-sandbox")

Der Originalartikel ist hier

Sandbox scheint übrigens eine isolierte Umgebung zu sein, die keine Auswirkungen auf externe Programme hat. (Wird verwendet, um Programme auszuführen, die wahrscheinlich Viren usw. enthalten.)

Recommended Posts

[EC2] Was tun, wenn Selen festsitzt und die Verarbeitung nicht fortgesetzt wird?
Verfahren, die durchgeführt werden müssen, wenn Japanisch nicht in matplotlib angezeigt wird
[Anfänger] Was tun, wenn "[Errno 2] Datei b'test.csv 'nicht vorhanden ist: b'test.csv" beim Lesen von csv von Pandas angezeigt wird
NameError: Der globale Name'dot_parser 'ist nicht definiert und was ist zu tun, wenn er in Python angezeigt wird?
Was tun, wenn der Benutzername geändert wird und der Pfad der pyenv-Bibliothek nicht übergeben wird?
Was tun, wenn bei der Installation von pyenv kein Fehler auftritt?
Hinweise, was zu tun ist, wenn das Löschen von Schatten nicht mit Scatter () / Scatter3d () von Matplotlib funktioniert
Beispiel, was zu tun ist, wenn das Beispielskript nicht funktioniert (OpenCV-Python)
Was tun, wenn das Diagramm nicht auf dem Jupyter-Notizbuch (Ipython) angezeigt wird?
curl: (60) Was tun, wenn das Ausstellerzertifikat ungültig ist?
Was tun, wenn sys / cdefs.h nicht vorhanden ist?
Was tun, wenn pyenv nicht aktiviert ist (zsh)
[Python] Typ Fehler: 'WebElement'-Objekt ist nicht iterierbar Was tun, wenn ein Fehler auftritt?
Was tun, wenn python3 venv auf Raspberry Pi nicht gut funktioniert?
Was zu tun ist, wenn es nicht in der Sudoers-Datei enthalten ist. Dieser Vorfall wird gemeldet.
Was tun, wenn nur das Fenster angezeigt wird und im Pygame nichts angezeigt wird?
Was tun, wenn bei der Installation von openCV 3 der Fehler "Fehler: opencv3: Unterstützt nicht das Erstellen von Python 2- und 3-Wrappern" angezeigt wird
Was tun, wenn die PyCharm-Schrift seltsam oder verstümmelt ist?
Warum Django-Import-Export-Import so langsam ist und was zu tun ist
Was tun, wenn ein nicht in pom.xml definiertes Glas zu einem fehlenden Artefakt wird?
Was tun, wenn Ubuntu abstürzt?
Was tun, wenn die Einstellungen der jupyterlab-Erweiterung nicht angezeigt werden?
Was tun, wenn der Inode unter EC2 Linux erschöpft ist?
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
Was tun, wenn das über Scrapy heruntergeladene Ergebnis auf Englisch ist?
[Mac OS] Was tun, wenn Python nicht als Framework installiert ist? Wird angezeigt, wenn der Import von matplot lib ausgeführt wird.
[Python] Was tun, wenn ein Fehler im Zusammenhang mit der SSL-Authentifizierung zurückgegeben wird?
Was tun, wenn in der Anaconda-Umgebung die Warnung "Die Umgebung ist konsistent ..." angezeigt wird
Was tun, wenn Sie wütend werden, wenn Sie nicht libxml / xmlversion.h haben, wenn Sie lxml in pip einfügen?
Was tun, wenn eine Warnmeldung in der Pip-Liste angezeigt wird?
Was tun, wenn der Fehler RuntimeError angezeigt wird: Python wird nicht als Framework installiert, wenn Sie versuchen, matplitlib und pylab in Python 3.3 zu verwenden
Was tun, wenn CERTIFICATE_VERIFY_FAILED auftritt, wenn nltk.download () unter macOS pyhon ausgeführt wird?
Was tun, wenn bei Verwendung von strptime "TypeError: muss Zeichenfolge sein, nicht int ..." angezeigt wird
Was tun, wenn "TypeError: Datentyp nicht verstanden" in der Python-Datei numpy.zeros angezeigt wird?
Was tun, wenn bei der Eingabe eines Kameravideos in OpenCV ein Abbruch angezeigt wird?
Was tun, wenn die japanische Unterstützung unter Ubuntu 16.04 nicht vollständig installiert ist?
Was tun, wenn ein PermissionError in tempfile.mkstemp auftritt?
[Python] Was tun, wenn beim Erstellen von Exe mit PyInstaller kein Modul mit dem Namen "pyproj.datadir" angezeigt wird?
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
Was tun, wenn Pythons IntelliSense in VS Code unter Windows nicht angezeigt wird?
Was tun, wenn in GAE "Typfehler: muss _socket.socket sein, nicht Socket" angezeigt wird
Was tun, wenn Python in pyenv nicht von der Systemversion wechselt?
[Kleine Geschichte] Was tun, wenn "Fehler beim untergeordneten Prozess: Erstellen von resource'awsToolkitSamLocalResource '" nicht funktioniert, wenn Lambda lokal von SAM aus VS Code ausgeführt wird
[Go 1.13] Was tun, wenn ein unerwartetes Verzeichnislayout angezeigt wird?
[openpyxl] Was tun, wenn IllegalCharacterError in pandas.DataFrame.to_excel angezeigt wird?
Was tun, wenn gdal_merge eine große Datei generiert?
Was tun, wenn ValueError, "nicht unterstützter Hash-Typ" ausgelöst wird?
Was tun, wenn "Name xxx nicht importiert werden kann" [Python]
Was ist pip und wie benutzt du es?
Ich kann keine Pipenv-Shell verwenden ... was soll ich tun?
Was tun, wenn aufgrund der Proxy-Einstellungen in Python Web Scraping keine Antwort erfolgt?
Was tun, wenn das Bild nicht mit matplotlib usw. im Docker-Container angezeigt wird?
[Python-Anfänger] Variablen und Umfang innerhalb der Funktion (wenn die Verarbeitung innerhalb der Funktion außerhalb der Funktion reflektiert wird und wenn sie nicht reflektiert wird)
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
Was tun, wenn `Argumente [0] .scrollIntoView ();` in Python-Selen fehlschlägt?
So laden Sie keine Bilder, wenn Sie PhantomJS mit Selen verwenden
Was tun, wenn beim Aktualisieren von conda ein Fehler beim Entfernen auftritt?