2016-12-09 5 views
4

So habe ich einen Flask-Server auf Heroku, die seit einiger Zeit wie erwartet funktioniert. Jetzt muss ich nach neuen Anforderungen Funktionalität zum Flask-Server hinzufügen, um eine Seite abzurufen Eine externe Website. Aus Gründen, die mir am besten bekannt sind, verwende ich Selenium zusammen mit Chrome Web-Treiber, um dies zu tun.Lokal war ich in der Lage, dies einzurichten und es funktioniert gut, aber ich bin mir ziemlich unsicher, wie Sie es einrichten der Heroku-Server. Ich lese ein wenig über buildpacks und fand diese buildpack für ChromeDriver:Ausführen von ChromeDriver mit Python Selen auf Heroku

https://elements.heroku.com/buildpacks/jimmynguyc/heroku-buildpack-chromedriver 

Aber ich bin nicht sicher, wie es weitergehen further.How installiere ich Chrom Browser selbst und was sonst noch benötigt wird alles bis zu binden?

Antwort

4

hatte ich das gleiche Problem und die folgenden Schritte funktionierte gut für mich:

  • ich folgende buildpacks auf Heroku hinzugefügt: https://github.com/heroku/heroku-buildpack-xvfb-google-chrome (installieren Chrom, da chromedriver es erfordert) und https://github.com/heroku/heroku-buildpack-chromedriver.
  • Ich habe eine Umgebungsvariable GOOGLE_CHROME_BIN erstellt, mit dem Pfad von chrome auf heroku: /app/.apt/usr/bin/google-chrome und einer Umgebungsvariable namens CHROMEDRIVER_PATH mit dem Pfad von chromedriver auf heroku: /app/.chromedriver/bin/verchromter.
  • In meiner Python-Datei, ich konfigurierte chromedriver:

    chrome_options = Options() 
    chrome_options.binary_location = GOOGLE_CHROME_BIN 
    chrome_options.add_argument('--disable-gpu') 
    chrome_options.add_argument('--no-sandbox') 
    driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, chrome_options=chrome_options) 
    

(Zuerst habe ich versucht, chromedriver ohne Argumente zu konfigurieren, aber ich stand vor dem folgenden Fehler: "Chrome konnte nicht gestartet werden: abgestürzt" . --disable-gpu und --no-sandbox haben das Problem für mich gelöst.

Verwandte Themen