Wie macht man einen screenshot einer angularjs-app?
Ich versucht habe:
- Knoten-webshot
- phantomjs
Konnte ich es lokal, aber ich konnte nicht nehmen Sie screenshots von anderen Webseiten basierend auf angularjs.
Bounty
In der Lage sein einen screenshot von jedem angularjs-app, die enthält jquery und Winkel auf der Seite. Jede einzelne Seite hier: http://builtwith.angularjs.org/ sollte Aussehen, als ob ich lud Sie in mein browser.
Muss in der Lage sein zu Holen Sie sich die Abbildung über das terminal, damit könnte es laufen in einem hintergrund-Prozess, wie ein Arbeiter oder so etwas.
Einem beliebigen server (oder was auch immer sollte in der Lage sein zu gehen, um ein offsite-website und nehmen Sie einen screenshot davon.)
Es braucht nur eine url, die unweigerlich als host für eine angularjs-app und Ausgabe, was Sie erwarten würden, um zu sehen, in Ihrem browser.
Nicht brauchen, um phantomjs oder Knoten-webshot.
Update 1
Als der Letzte Nacht das ist, wie ich bin, es zu tun.
- node-webkit (nodejs innen Chrom) kompiliert, um linux-32
- offen lassen, auf eine zufällige laptop
- wenn es feststellt, dass ein screenshot gemacht werden muss (über FB vorübergehend) es öffnet sich ein iframe mit url
- wartet 10 Sekunden (angemessene Zeit, um eine Website zu laden/app)
- nutzt eine node-webkit api screenshot selbst
Habe ich einige Arbeit zu tun auf diese Lösung.
Update 2
Dies scheint eine mögliche Lösung, aber ich habe festgestellt, dass die meisten dieser Lösungen benötigen Sie einen browser öffnen und unter der Abbildung im Vergleich zu einem headless browser wie phantomjs.
Update 3
Ich bin weiterhin der Entwicklung auf eine produktionstaugliche Lösung für diese auf github.
https://github.com/clouddueling/angular-snapshot
Wenn Sie diesen code und bauen ihn mit node-webkit.app, die Sie ausführen können, um einen screenshot server.
Vorzugsweise würde ich in der Lage zu ergreifen, ein Skript und führen Sie es einfach in den hintergrund. Keine verrückten Sprachen brauchen nur einen einfachen Weg, um dieses problem zu lösen mit javascript. Muss nicht sein, basierend auf phantomjs, ich brauche nur eine einfache Möglichkeit um einen screenshot aus einem Terminalprogramm (hoffentlich node oder ruby oder etwas gemeinsames).
InformationsquelleAutor Michael J. Calkins | 2013-12-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden browserstack um Ihre Anwendung zu testen in allen Browsern ohne Installation von jedem, einschließlich mobile Browser, verschiedene Handys, tablets, etc.
Gibt es Unterstützung für die Selenium-automatisiertes testen und screenshots. Lokales testen unterstützt wird, keine öffentliche URL ist erforderlich.
Den screenshots API ist verfügbar für die Konfiguration der screenshots, die Sie brauchen, Screenshooter ist ein Werkzeug zur Erzeugung von BrowserStack screenshots von der Kommandozeile aus.
Gibt es eine Probezeit, da es sich um ein kommerzielles Produkt, aber es ist sehr gut gemacht und jeden Cent Wert. Sie können ein Fahrrad für nur einen Monat. Ich habe persönlich verwendet und ich empfehle es.
AngularJS docs: browserstack.com/screenshots/... Jemand eine gute Seite zum testen auf? Wie es aussieht, wird dies die akzeptierte Antwort.
Ich werde lassen Sie diese laufen ein wenig länger, um zu sehen, ob es eine "Kostenlose" Antwort sonst bekommen Sie die Prämie.
Was mich zu browsershots.org und browsershots.org/documentation#HowToCreateANewScreenshotFactory
InformationsquelleAutor Angular University
Haben Sie versucht,wkhtmltopdf? Es kommt mit einem tool namens wkhtmltoimage. Es nutzt QtWebKit (Ein Qt-port von der WebKit-rendering-engine) zum Rendern einer Webseite, und wandelt das Ergebnis in PDF-oder Bild-format Ihrer Wahl, alles geschieht auf server-Seite.
Weil es nutzt WebKit, es macht alles (Bilder, css-und auch javascript) wie in einem modernen browser funktioniert. Sie können eine Feinabstimmung der Parameter wie das optimieren der JavaScript-Ausführung Nachfrist.
In meinem Anwendungsfall, die Ergebnisse waren sehr zufriedenstellend, und sind nahezu identisch mit dem, was die Browser machen würde.
Hier ist eine Liste der Befehlsoptionen:
Hi, habe versucht ein paar Seiten von dort. Leider sind Sie alle Gaben js-Fehler. Ich denke, dass der JS-parser von QtWebKit ist nicht bis zu standard-und nicht geeignet für schwere JS-Seiten. Ihre beste Wette, ich weiß, der ist wohl sowas wie addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox kombiniert mit addons.mozilla.org/en-US/firefox/addon/screengrab-fix-version zu implementieren eines automatischen Workflows für die Aufnahme von Schnappschüssen. Nicht sicher, wie möglich, sehen aber wie die meisten anderen tools verwenden eine form von WebKit und hat nicht funktioniert das ganz gut, mit einem echten browser die einzige Möglichkeit sein.
InformationsquelleAutor Dan7
Zwar nicht persönlich ausprobiert, ich habe gesehen, die service-eingesetzt in der Produktion, nimmt screenshots mit Webdriver von Selen.
alles geschieht im hintergrund, so dass ich denke, es passt Ihre Anforderungen.
InformationsquelleAutor leorex
Wahrscheinlich wird das helfen https://bitbucket.org/vodolaz095/site-shooter
Dies ist nodejs+phantomjs Anwendung, um Website-screenshots
Benötigen Sie einen heroku Kostenlose tier-Dienst ausführen.
BTW, können Sie versuchen, diese Anwendung - https://pageshooter.herokuapp.com
ich denke, es kann screenshots von angularjs Websites
pageshooter.herokuapp.com/...
pageshooter.herokuapp.com/...
für Michael - in phantomjs, die wir machen können-timeout für das ready-Ereignis, pi teilen können, die beispielsweise einige Zeit zu spät
InformationsquelleAutor vodolaz095
Knoten-Webshot nutzt PhantomJS, die wiederum verwendet, QtWebkit, die nicht mit AngularJS.
Mehr info: https://github.com/angular/angular.js/issues/2985
Vorschlag. Stellen Sie sicher, dass die PhantomJS Sie gebündelt innerhalb der Knoten-Webshot ist unbedingt die neueste version. Wenn nicht, ersetzen Sie die PhantomJS mit der neuesten version und Beute für Sie behoben haben.
Wenn Sie Zugriff auf die Kommandozeilen-Optionen von PhantomJS, Sie könnten versuchen, ein paar von Ihnen hier: https://github.com/ariya/phantomjs/wiki/API-Reference
Diejenigen, die besonders riging Glocke:
--ignore-ssl-Fehler=true
--local-und remote-url-Zugriff=true
--web-security=false
InformationsquelleAutor Jani Hyytiäinen