[RUBY] Comment gérer Selenium :: WebDriver :: Error :: UnknownError qui se produit dans l'environnement Dokcer, etc.

L'option no-sandbox / disable-dev-shm-usage est requise lors de l'utilisation de capybara / selenium / chromedriver dans un environnement CUI tel que l'environnement Dokcer.

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') #environnement isolé par chroot(Sandbox)Désactive le fonctionnement dans
  options.add_argument('--disable-dev-shm-usage') #L'emplacement du fichier de mémoire partagée/dev/de shm/Déplacer vers 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

Comment gérer Selenium :: WebDriver :: Error :: UnknownError qui se produit dans l'environnement Dokcer, etc.
Comment gérer l'erreur yaml.scanner.ScannerError: lors de la recherche du jeton suivant apparu lors de la création d'un environnement Rails avec Docker
Comment gérer l'événement où Committee :: InvalidRequest se produit en comité pendant le test de téléchargement de fichier Rspec
[Environnement Docker] Comment gérer ActiveSupport :: MessageEncryptor :: InvalidMessage
[Ruby] 5 erreurs courantes qui ont tendance à se produire lors du scraping avec Selenium et comment les gérer
Comment gérer l'erreur ERREUR: lors de l'exécution de gem ... (Gem :: FilePermissionError)
[Rails / RSpec] Comment traiter l'élément a une erreur de taille nulle
[Rails] Comment exécuter "rails db: create" etc. dans l'environnement de production EC2
Comment exécuter avec des commandes de langage de développement normales dans l'environnement de développement Docker
Comment utiliser les variables d'environnement dans RubyOnRails
Comment gérer les actifs de précompilation a échoué.
Comment créer un environnement Rails 6 avec Docker
Comment afficher les messages d'erreur en japonais
[Laravel] Comment gérer une erreur de mémoire insuffisante lorsque le compositeur a besoin de [Docker]
[Résolution d'erreur] Se produit lors de la tentative de création d'un environnement pour le printemps avec docker
Résumé de la sélection des éléments dans Selenium
Comment installer Titan 2D (v4.2.0) dans un environnement virtuel
Une erreur de serveur interne 500 se produit dans l'environnement de production Rails
[Rails] Comment créer un environnement avec Docker
[Rails] Comment utiliser PostgreSQL dans l'environnement Vagrant
[Docker] Comment mettre à jour à l'aide d'un conteneur dans Heroku et comment gérer l'erreur de migration
Comment gérer les erreurs dans Rails? Impossible de trouver un runtime JavaScript.
Comment intégrer des variables JavaScript dans HTML avec Thymeleaf
Comment implémenter UICollectionView avec du code uniquement dans Swift
Comment appeler des fonctions en bloc avec la réflexion Java
Comment créer un environnement Java en seulement 3 secondes
Programme de régime avec préprocesseur (comment gérer la taille i-appli)
Comment basculer Tomcat context.xml avec Eclipse WTP
Comment utiliser la bibliothèque Z3 dans Scala avec Eclipse
Comment installer automatiquement geckodriver (WebDriver de Selenium) à l'aide de WebDriverManager
[Comment insérer une vidéo dans un hameau avec Rails]
[Rails] Comment gérer les modifications d'URL après le rendu
Comment supprimer des images non balisées en masse avec Docker
Comment utiliser la bibliothèque JDD dans Scala avec Eclipse
Comment tester l'écran de téléchargement de fichiers avec Spring + Selenium
Comment créer un environnement de développement Java avec VS Code
Comment interroger Array dans jsonb avec Rails + postgres
Comment démarrer par environnement avec Spring Boot de Maven
Comment résoudre l'erreur SSL_connect dans le SDK PayPal Ruby
Comment obtenir JDK etc. depuis Oracle avec CLI
Comment gérer la différence dans chaque environnement avec yml sans augmenter le nombre de RAILS_ENV