Ich benutze watir webdriver und seine kopflose Funktionalität zusammen mit Firefox-Browser zu einer Website gehen, sagen www.xyz.com
. Klicken Sie auf verschiedene Schaltflächen und laden Sie ein pdf.Ich habe dies in meiner lokalen Umgebung erreicht.Wenn Ich schiebe meine App zu Heroku, bat um buildpacks.Ich habe buildpacks hinzugefügt und sie sind in meinem heroku vorhanden. Ich habe dies gefunden, indem ich heroku run bash
ausgeführt habe. Abhängigkeiten verwendet werden:Wie kann ich firefox auf heroku verwenden
gem 'watir-webdriver', '~> 0.9.1'
gem 'headless', '~> 2.2', '>= 2.2.3'
Buildpack of Xvfb
Buildpack of firefox
Xvfb buildpack fine.When arbeitet browser = Watir::Browser.new(:firefox, :profile => profile)
läuft, bin ich immer seltsame Fehler wie Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055)
oder set path for firefox
. Ich habe Pfad für firefox gesetzt Selenium::WebDriver::Firefox::Binary.path='vendor/firefox/firefox-bin'
. Ich kann das Firefox an diesem Ort in meinem heroku bash
installiert sehen. Ich bin nicht sicher, ob dies ein Heroku Problem oder Buildpack Problem ist. Obwohl der Entwickler von buildpack sagte, er war nicht in der Lage, seine firefox buildpack
auf Heroku zu laufen, aber er war in der Lage zu Amazon EC2
.Is ist möglich zu installieren und Firefox mit allen zu verwenden seine Funktionen (wie Öffnen und Schließen des Browsers, Herunterladen von PDF, Öffnen von Tabs) auf Heroku? Es tut mir leid, wenn ich mit meiner Frage nicht so klar bin. Firefox Buildpack.
begin
ActiveRecord::Base.transaction do
download_directory = "#{Rails.root}/tmp/#{dir_name}"
Selenium::WebDriver::Firefox::Binary.path='vendor/firefox/firefox-bin'
profile = Selenium::WebDriver::Firefox::Profile.new
profile['download.prompt_for_download'] = false
profile['browser.download.folderList'] = 2 # custom location
profile['browser.download.dir'] = download_directory
profile['browser.helperApps.neverAsk.saveToDisk'] = "application/pdf"
# Disable built-in pdf viewer of Firefox browser
profile['pdfjs.disabled'] = true
profile['pdfjs.firstRun'] = false
headless = Headless.new
headless.start
browser = Watir::Browser.new(:firefox, :profile => profile)
# browser.screenshot.save "pp.png"
browser.goto 'xyz.com'
browser.window.resize_to(some_x,some_y)
browser.text_field(:name => "some_name").set("#{some_data}")
browser.text_field(:name => "some_password").set("#{password}")
browser.button(:name => "button").click
#Pdf gets downloaded in the defined location
#some database updations
headless.destroy
end
rescue => r
end
Vielen Dank Sir @Dipak G. habe ich versucht, Ihre script.I auch PhantomJS zuvor versucht haben, aber nicht, weil ich nicht in der Lage war Download figureout 'Datei phantomjs' mit Ich habe viele Google-Suche gemacht und einige ältere Beiträge sagte mir, dass Datei-Download ist nicht möglich mit 'phantomjs'. Ich habe keine Ahnung, wie dieses Problem zu lösen, das auch auf' Heroku' funktioniert. Ich muss eine PDF-Datei von einem herunterladen website.Ich habe nicht seinen Link, wie es 302 (Javascript Redirect) ist. Ich bin nicht sicher, ob dies mit mechanize gem erreicht werden kann.Bitte schlagen Sie mir mögliche Lösungen für dieses Problem. – Rais