Ich benutze Watir Webdriver und einen kopflosen (phantomjs) Browser zu einer Website gehen, loggen Sie sich ein und klicken Sie und laden Sie eine Datei mit Javascript submit button.Wenn ich auf Senden klicken, bin ich Umgeleitet mit 302 zu einer anderen Adresse, die ich unter meinem Netzwerk sehen kann.Dies ist URL der Datei zum Download.Ich bin degugging mit Screenshots, damit ich sehen kann, die Phantomjs funktioniert gut, aber nachdem es auf Submit-Taste trifft, passiert nichts Das ganze Verfahren funktioniert auch auf Firefox gut. Wie benutze ich den Web-Treiber, wie kann ich diesen Link in der Datenbank speichern und meine phantomjs umleiten, um die Datei über diesen Link herunterzuladen? Ich habe versucht, Github Pull-Anfragen, offizielle Dokumentation und Blog-Posts zu lesen Ich kann keine Lösung erreichen. Bitte geben Sie mir Vorschläge oder Lösungen. Auch ein Wortvorschlag ist auch geschätzt, da es mir helfen könnte, das Problem anzugehen. Ich habe versucht bekommen "http Anfrage Header" aber nicht erfolgreich. Ich habe browser.cookie.to_a
und browser.headers
gibt mir nur object
wie diese Watir::HTMLElementCollection:0x000000024b88c0
.Danke,Laden Sie eine Datei mit Watir Webdriver und Phantomjs
0
A
Antwort
1
Ich sollte keine Lösung für meine Frage mit Phantomjs finden, aber ich habe das Problem mit watirwebdriver (0.9.1) kopflos und Firefox (44.0) gelöst. Dies sind die Einstellungen, die ich verwendet habe.
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"
profile['pdfjs.disabled'] = true
profile['pdfjs.firstRun'] = false
headless = Headless.new
headless.start
browser = Watir::Browser.new(:firefox, :profile => profile)
browser.goto 'www.google.com'
browser.window.resize_to(1280, 720)
puts browser.title
puts browser.url
Sie müssen ein benutzerdefiniertes Firefox-Profil verwenden. Ich habe kürzlich herausgefunden, wie man das mit Selen macht, obwohl ich es mit Phantom nicht versucht habe. Siehe [hier] (https://gist.github.com/MaxPleaner/9d73674916a64bf7f281eac5110972b8) für ein Code-Snippet –
danke @maxpleaner aber ich suche nach Headless-Lösung. – Unicornz
Eigentlich benutze ich kopflos in dem Projekt, wo der Code herkommt. Wenn Sie kopflos starten, bevor Sie den Firefox-Treiber starten, befindet er sich im kopflosen Bereich. –