[RUBY] Umgang mit Selenium :: WebDriver :: Error :: UnknownError, der in einer Dokcer-Umgebung usw. auftritt.

Die Option "no-sandbox / disable-dev-shm-usage" ist erforderlich, wenn Capybara / Selen / Chromedriver in einer CUI-Umgebung wie der Dokcer-Umgebung verwendet wird.

Selenium::WebDriver::Error::UnknownError:
                unknown error: Chrome failed to start: exited abnormally.
                  (unknown error: DevToolsActivePort file doesn't exist)
                  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

capybara.rb


...
Capybara.register_driver :selenium_chrome_headless do |app|
  options = ::Selenium::WebDriver::Chrome::Options.new
  options.add_argument('--headless') 
  options.add_argument('--no-sandbox') #Umgebung durch Chroot isoliert(Sandbox)Deaktiviert den Betrieb in
  options.add_argument('--disable-dev-shm-usage') #Der Speicherort der gemeinsam genutzten Speicherdatei/dev/von shm/Gehen Sie zu tmp
  options.add_argument('--disable-gpu')
  options.add_argument('--window-size=2500,2500')
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end

Capybara.javascript_driver = :selenium_chrome_headless

Recommended Posts

Umgang mit Selenium :: WebDriver :: Error :: UnknownError, der in einer Dokcer-Umgebung usw. auftritt.
Umgang mit dem Fehler yaml.scanner.ScannerError: Beim Scannen nach dem nächsten Token, das beim Erstellen einer Rails-Umgebung mit Docker angezeigt wurde
Umgang mit dem Ereignis, dass Committee :: InvalidRequest während des Rspec-Datei-Upload-Tests im Committee auftritt
[Docker-Umgebung] Umgang mit ActiveSupport :: MessageEncryptor :: InvalidMessage
[Ruby] 5 häufige Fehler, die beim Schaben mit Selen auftreten und wie man damit umgeht
Umgang mit dem Fehler FEHLER: Während der Ausführung von gem ... (Gem :: FilePermissionError)
[Rails / RSpec] Der Umgang mit Elementen weist einen Größenfehler von Null auf
[Rails] Ausführen von "Rails db: create" usw. in der Produktionsumgebung EC2
Ausführen mit normalen Befehlen für die Entwicklungssprache in der Docker-Entwicklungsumgebung
Verwendung von Umgebungsvariablen in RubyOnRails
Der Umgang mit dem Vorkompilieren von Assets ist fehlgeschlagen.
So erstellen Sie eine Rails 6-Umgebung mit Docker
So zeigen Sie Fehlermeldungen auf Japanisch an
[Laravel] Umgang mit Fehlern aufgrund von Speichermangel, wenn Komponisten [Docker] benötigen
[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen
Zusammenfassung der Auswahl von Elementen in Selen
So installieren Sie Titan 2D (v4.2.0) in einer virtuellen Umgebung
500 Interner Serverfehler tritt in der Rails-Produktionsumgebung auf
[Rails] So erstellen Sie eine Umgebung mit Docker
[Rails] Verwendung von PostgreSQL in einer Vagrant-Umgebung
[Docker] Wie man mit einem Container in Heroku aktualisiert und wie man mit Migrate Error umgeht
Umgang mit Fehlern in Rails s konnte keine JavaScript-Laufzeit finden.
Einbetten von JavaScript-Variablen in HTML mit Thymeleaf
So implementieren Sie UICollectionView mit Code nur in Swift
Aufrufen von Funktionen in großen Mengen mit Java Reflection
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
Diätprogramm mit Präprozessor (Umgang mit der Größe von i-appli)
So wechseln Sie Tomcat context.xml mit Eclipse WTP
Verwendung der Z3-Bibliothek in Scala mit Eclipse
So installieren Sie Geckodriver (Seleniums WebDriver) automatisch mit WebDriverManager
[So fügen Sie ein Video mit Rails in haml ein]
[Rails] Umgang mit URL-Änderungen nach dem Rendern
So löschen Sie mit Docker Bilder ohne Tags in großen Mengen
Verwendung der JDD-Bibliothek in Scala mit Eclipse
So testen Sie den Bildschirm zum Hochladen von Dateien mit Spring + Selenium
So erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
Abfragen von Arrays in jsonb mit Rails + postgres
Booten nach Umgebung mit Spring Boot of Maven
So beheben Sie den SSL_connect-Fehler im PayPal Ruby SDK
Wie man mit cli jdk etc. von oracle bekommt
So verwalten Sie den Unterschied in jeder Umgebung mit yml, ohne die Anzahl von RAILS_ENV zu erhöhen