Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Puppeteer: Screenshots PhantomJS Alternative

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Puppeteer: Screenshots PhantomJS Alternative

    This topic has been deleted. Only users with topic management privileges can see it.
    • foxriver76
      foxriver76 Developer @foxriver76 last edited by

      @foxriver76 Falls du es auf dem FS haben möchtest, kannst du die Option path auf Top Level mitgeben. Ist dann Puppeteer intern abgehandelt: https://pptr.dev/api/puppeteer.screenshotoptions.path

      arteck 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @foxriver76 last edited by arteck

        @foxriver76 ok

        aber verstehe jetzt nicht die Nutzung der Datenpunkte ??

        wenn ich alle 60 min ein bild haben will.. was nutz ich da.. stehe bissel auf dem Schlauch

        foxriver76 2 Replies Last reply Reply Quote 0
        • foxriver76
          foxriver76 Developer @arteck last edited by

          @arteck Wenn du nicht so der "Skript Typ" bist, kannst du einige der oft genutzten Optionen direkt über die Datenpunkte festlegen und dann schreibst du eine url in den url state und ein Screenshot wird erstellt. Das ist etwas angelehnt an die Logik vom Phantom.JS Adapter, soweit ich mich erinnere.

          Mit sendTo hast du deutlich mehr Optionen zur Verfügung und bekommst z. B. auch das Bild direkt im Callback falls du es codetechnsich weiterverarbeiten möchtest.

          1 Reply Last reply Reply Quote 0
          • foxriver76
            foxriver76 Developer @arteck last edited by

            @arteck Es gibt keine Option, das regelmäßig festzulegen.

            Sprich du würdest dein Code (entweder setState auf den url State oder dein sendTo) in einen schedule packen der jede Minute triggered oder im Callback von der Funktion die Funktion mit setTimeout in 60 Sekunden erneut aufrufen

            arteck 1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active @foxriver76 last edited by arteck

              @foxriver76 ahh ok.. jetzt ja..THX

              1 Reply Last reply Reply Quote 0
              • Neuschwansteini
                Neuschwansteini @foxriver76 last edited by

                @foxriver76

                Hi,

                Hab die v0.2.6 im Docker mal installiert, leider meckert er beim installieren schon, dass die Version veraltet ist und empfiehlt >19.2 zu installieren..

                Machst du mal n Update, so funktioniert der Adapter im Docker nicht..?
                Log kann ich gerne nachreichen

                foxriver76 1 Reply Last reply Reply Quote 0
                • foxriver76
                  foxriver76 Developer @Neuschwansteini last edited by

                  @ilovegym keine Ahnung welche Version du meinst, gerne Log zeigen

                  Neuschwansteini 1 Reply Last reply Reply Quote 0
                  • Neuschwansteini
                    Neuschwansteini @foxriver76 last edited by

                    @foxriver76

                    Bin am Tablett mit meinen dicken Fingern.. verwende den buanet Docker mit Node 16
                    hier beim installieren:

                    host.iobroker
                    2023-03-18 21:09:38.495	info	iobroker npm WARN deprecated puppeteer@13.7.0: < 19.2.0 is no longer supported
                    
                    

                    Dann beim starten des Adapter:

                    
                    puppeteer.0
                    2023-03-18 21:10:24.951	error	Error: Failed to launch the browser process![0318/211024.570664:FATAL:zygote_host_impl_linux.cc(117)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.#0 0x55aca5667b89 base::debug::CollectStackTrace()#1 0x55aca55cc433 base::debug::StackTrace::StackTrace()#2 0x55aca55df330 logging::LogMessage::~LogMessage()#3 0x55aca35c499b content::ZygoteHostImpl::Init()#4 0x55aca5175372 content::ContentMainRunnerImpl::Initialize()#5 0x55aca5173439 content::RunContentProcess()#6 0x55aca517358e content::ContentMain()#7 0x55aca51ced7a headless::(anonymous namespace)::RunContentMain()#8 0x55aca51cea85 headless::HeadlessShellMain()#9 0x55aca1c323e8 ChromeMain#10 0x7effdda9dd0a __libc_start_main#11 0x55aca1c3222a _startTROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md at onClose (/opt/iobroker/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:241:20) at Interface.<anonymous> (/opt/iobroker/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:231:68) at Interface.emit (node:events:525:35) at Interface.close (node:readline:590:8) at Socket.onend (node:readline:280:10) at Socket.emit (node:events:525:35) at endReadableNT (node:internal/streams/readable:1358:12) at processTicksAndRejections (node:internal/process/task_queues:83:21)
                    
                    puppeteer.0
                    2023-03-18 21:10:24.950	error	unhandled promise rejection: Failed to launch the browser process![0318/211024.570664:FATAL:zygote_host_impl_linux.cc(117)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.#0 0x55aca5667b89 base::debug::CollectStackTrace()#1 0x55aca55cc433 base::debug::StackTrace::StackTrace()#2 0x55aca55df330 logging::LogMessage::~LogMessage()#3 0x55aca35c499b content::ZygoteHostImpl::Init()#4 0x55aca5175372 content::ContentMainRunnerImpl::Initialize()#5 0x55aca5173439 content::RunContentProcess()#6 0x55aca517358e content::ContentMain()#7 0x55aca51ced7a headless::(anonymous namespace)::RunContentMain()#8 0x55aca51cea85 headless::HeadlessShellMain()#9 0x55aca1c323e8 ChromeMain#10 0x7effdda9dd0a __libc_start_main#11 0x55aca1c3222a _startTROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
                    
                    
                    foxriver76 F 2 Replies Last reply Reply Quote 0
                    • foxriver76
                      foxriver76 Developer @Neuschwansteini last edited by

                      @ilovegym Krass, die sind tatsächlich innerhalb von einem Jahr von 13 auf 19.

                      Ich habe eben eine 0.2.7 auf den Weg geschickt, gerne ausprobieren.

                      1 Reply Last reply Reply Quote 0
                      • Neuschwansteini
                        Neuschwansteini last edited by

                        @foxriver76 ja, fand ich auch, hab noch ein Problem, denke das kann auch am Docker liegen.. ? der kann irgendwie Chrome nicht starten oder hat n Problem mit der sandbox.. ??

                        2023-03-19 11:05:50.634  - info: puppeteer.0 (8448) starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.puppeteer, node: v16.19.1, js-controller: 4.0.24
                        2023-03-19 11:05:50.634  - info: puppeteer.0 (8448) starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.puppeteer, node: v16.19.1, js-controller: 4.0.24
                        2023-03-19 11:05:52.762  - error: puppeteer.0 (8448) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                        2023-03-19 11:05:52.762  - error: puppeteer.0 (8448) unhandled promise rejection: Failed to launch the browser process!
                        [0319/110552.557613:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
                        #0 0x55ab22b4c7d2 base::debug::CollectStackTrace()
                        #1 0x55ab22aac373 base::debug::StackTrace::StackTrace()
                        #2 0x55ab22aa92d8 logging::LogMessage::~LogMessage()
                        #3 0x55ab2130cd56 content::ZygoteHostImpl::Init()
                        #4 0x55ab2202113c content::ContentMainRunnerImpl::Initialize()
                        #5 0x55ab2201e780 content::RunContentProcess()
                        #6 0x55ab2201eb86 content::ContentMain()
                        #7 0x55ab225f5259 headless::HeadlessShellMain()
                        #8 0x55ab1e7d9255 ChromeMain
                        #9 0x7f64f225bd0a __libc_start_main
                        #10 0x55ab1e7d902a _start
                        
                        
                        
                        TROUBLESHOOTING: https://pptr.dev/troubleshooting
                        
                        2023-03-19 11:05:52.763  - error: puppeteer.0 (8448) Error: Failed to launch the browser process!
                        [0319/110552.557613:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
                        #0 0x55ab22b4c7d2 base::debug::CollectStackTrace()
                        #1 0x55ab22aac373 base::debug::StackTrace::StackTrace()
                        #2 0x55ab22aa92d8 logging::LogMessage::~LogMessage()
                        #3 0x55ab2130cd56 content::ZygoteHostImpl::Init()
                        #4 0x55ab2202113c content::ContentMainRunnerImpl::Initialize()
                        #5 0x55ab2201e780 content::RunContentProcess()
                        #6 0x55ab2201eb86 content::ContentMain()
                        #7 0x55ab225f5259 headless::HeadlessShellMain()
                        #8 0x55ab1e7d9255 ChromeMain
                        #9 0x7f64f225bd0a __libc_start_main
                        #10 0x55ab1e7d902a _start
                        
                        
                        
                        TROUBLESHOOTING: https://pptr.dev/troubleshooting
                        
                           at onClose (/opt/iobroker/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:302:20)
                           at Interface.<anonymous> (/opt/iobroker/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:290:24)
                           at Interface.emit (node:events:525:35)
                           at Interface.close (node:readline:590:8)
                           at Socket.onend (node:readline:280:10)
                           at Socket.emit (node:events:525:35)
                           at endReadableNT (node:internal/streams/readable:1358:12)
                           at processTicksAndRejections (node:internal/process/task_queues:83:21)
                        2023-03-19 11:05:52.764  - error: puppeteer.0 (8448) Failed to launch the browser process!
                        [0319/110552.557613:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
                        #0 0x55ab22b4c7d2 base::debug::CollectStackTrace()
                        #1 0x55ab22aac373 base::debug::StackTrace::StackTrace()
                        #2 0x55ab22aa92d8 logging::LogMessage::~LogMessage()
                        #3 0x55ab2130cd56 content::ZygoteHostImpl::Init()
                        #4 0x55ab2202113c content::ContentMainRunnerImpl::Initialize()
                        #5 0x55ab2201e780 content::RunContentProcess()
                        #6 0x55ab2201eb86 content::ContentMain()
                        #7 0x55ab225f5259 headless::HeadlessShellMain()
                        #8 0x55ab1e7d9255 ChromeMain
                        #9 0x7f64f225bd0a __libc_start_main
                        #10 0x55ab1e7d902a _start
                        
                        
                        
                        TROUBLESHOOTING: https://pptr.dev/troubleshooting
                        
                        2023-03-19 11:05:52.767  - info: puppeteer.0 (8448) terminating
                        2023-03-19 11:05:52.768  - warn: puppeteer.0 (8448) Terminated (UNCAUGHT_EXCEPTION): Without reason
                        2023-03-19 11:05:53.311  - error: host.iobroker instance system.adapter.puppeteer.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                        2023-03-19 11:05:53.312  - info: host.iobroker Restart adapter system.adapter.puppeteer.0 because enabled
                        2023-03-19 11:05:52.762  - error: puppeteer.0 (8448) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                        2023-03-19 11:05:52.762  - error: puppeteer.0 (8448) unhandled promise rejection: Failed to launch the browser process!
                        [0319/110552.557613:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
                        #0 0x55ab22b4c7d2 base::debug::CollectStackTrace()
                        #1 0x55ab22aac373 base::debug::StackTrace::StackTrace()
                        #2 0x55ab22aa92d8 logging::LogMessage::~LogMessage()
                        #3 0x55ab2130cd56 content::ZygoteHostImpl::Init()
                        #4 0x55ab2202113c content::ContentMainRunnerImpl::Initialize()
                        #5 0x55ab2201e780 content::RunContentProcess()
                        #6 0x55ab2201eb86 content::ContentMain()
                        #7 0x55ab225f5259 headless::HeadlessShellMain()
                        #8 0x55ab1e7d9255 ChromeMain
                        #9 0x7f64f225bd0a __libc_start_main
                        #10 0x55ab1e7d902a _start
                        
                        
                        
                        TROUBLESHOOTING: https://pptr.dev/troubleshooting
                        
                        2023-03-19 11:05:52.763  - error: puppeteer.0 (8448) Error: Failed to launch the browser process!
                        [0319/110552.557613:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
                        #0 0x55ab22b4c7d2 base::debug::CollectStackTrace()
                        #1 0x55ab22aac373 base::debug::StackTrace::StackTrace()
                        #2 0x55ab22aa92d8 logging::LogMessage::~LogMessage()
                        #3 0x55ab2130cd56 content::ZygoteHostImpl::Init()
                        #4 0x55ab2202113c content::ContentMainRunnerImpl::Initialize()
                        #5 0x55ab2201e780 content::RunContentProcess()
                        #6 0x55ab2201eb86 content::ContentMain()
                        #7 0x55ab225f5259 headless::HeadlessShellMain()
                        #8 0x55ab1e7d9255 ChromeMain
                        #9 0x7f64f225bd0a __libc_start_main
                        #10 0x55ab1e7d902a _start
                        
                        
                        
                        TROUBLESHOOTING: https://pptr.dev/troubleshooting
                        
                           at onClose (/opt/iobroker/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:302:20)
                           at Interface.<anonymous> (/opt/iobroker/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:290:24)
                           at Interface.emit (node:events:525:35)
                           at Interface.close (node:readline:590:8)
                           at Socket.onend (node:readline:280:10)
                           at Socket.emit (node:events:525:35)
                           at endReadableNT (node:internal/streams/readable:1358:12)
                           at processTicksAndRejections (node:internal/process/task_queues:83:21)
                        2023-03-19 11:05:52.764  - error: puppeteer.0 (8448) Failed to launch the browser process!
                        [0319/110552.557613:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
                        #0 0x55ab22b4c7d2 base::debug::CollectStackTrace()
                        #1 0x55ab22aac373 base::debug::StackTrace::StackTrace()
                        #2 0x55ab22aa92d8 logging::LogMessage::~LogMessage()
                        #3 0x55ab2130cd56 content::ZygoteHostImpl::Init()
                        #4 0x55ab2202113c content::ContentMainRunnerImpl::Initialize()
                        #5 0x55ab2201e780 content::RunContentProcess()
                        #6 0x55ab2201eb86 content::ContentMain()
                        #7 0x55ab225f5259 headless::HeadlessShellMain()
                        #8 0x55ab1e7d9255 ChromeMain
                        #9 0x7f64f225bd0a __libc_start_main
                        #10 0x55ab1e7d902a _start
                        
                        
                        
                        TROUBLESHOOTING: https://pptr.dev/troubleshooting
                        
                        2023-03-19 11:05:52.767  - info: puppeteer.0 (8448) terminating
                        2023-03-19 11:05:52.768  - warn: puppeteer.0 (8448) Terminated (UNCAUGHT_EXCEPTION): Without reason
                        2023-03-19 11:05:53.311  - error: host.iobroker instance system.adapter.puppeteer.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                        2023-03-19 11:05:53.312  - info: host.iobroker Restart adapter system.adapter.puppeteer.0 because enabled
                        

                        foxriver76 1 Reply Last reply Reply Quote 0
                        • foxriver76
                          foxriver76 Developer @Neuschwansteini last edited by

                          @ilovegym Probier mal bitte das im Container https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#recommended-enable-user-namespace-cloning

                          1 Reply Last reply Reply Quote 0
                          • Neuschwansteini
                            Neuschwansteini last edited by

                            @foxriver76

                            Hi,
                            Hat leider nicht funktioniert, Variante a sagt den Datenpunkt in proc/sys gibts nicht, und bei Variante b find ich die chrome_sandbox nicht.. hmm

                            Hat noch einer den Adapter im Docker laufen?

                            1 Reply Last reply Reply Quote 0
                            • M
                              Marty56 last edited by

                              Puppender stürzt bei mir auch ab, weil der Adapter wohl auch den Browser nicht starten kann.

                              OS: Debian
                              Node:v14.21.3
                              npm: 6.14.18
                              iobroker: aktuelle Versionen vom stable Repro.

                              apt update und apt upgrade habe ich gemacht und gebootet.

                              2023-04-21 06:39:42.178 - info: puppeteer.0 (2686) starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.puppeteer, node: v14.21.3, js-controller: 4.0.24
                              2023-04-21 06:39:42.288 - error: puppeteer.0 (2686) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                              2023-04-21 06:39:42.290 - error: puppeteer.0 (2686) unhandled promise rejection: Failed to launch the browser process! undefined
                              TROUBLESHOOTING: https://pptr.dev/troubleshooting
                              2023-04-21 06:39:42.294 - error: puppeteer.0 (2686) Error: Failed to launch the browser process! undefined
                              TROUBLESHOOTING: https://pptr.dev/troubleshooting
                              at ChildProcess.onClose (/opt/iobroker/node_modules/@puppeteer/browsers/lib/cjs/launch.js:262:24)
                              at ChildProcess.emit (events.js:412:35)
                              at Process.ChildProcess._handle.onexit (internal/child_process.js:285:12)
                              2023-04-21 06:39:42.295 - error: puppeteer.0 (2686) Failed to launch the browser process! undefined
                              TROUBLESHOOTING: https://pptr.dev/troubleshooting
                              2023-04-21 06:39:42.310 - info: puppeteer.0 (2686) terminating
                              2023-04-21 06:39:42.313 - warn: puppeteer.0 (2686) Terminated (UNCAUGHT_EXCEPTION): Without reason
                              2023-04-21 06:39:42.942 - error: host.Thom
                              
                              Thomas Braun Neuschwansteini 2 Replies Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @Marty56 last edited by

                                @marty56 sagte in Puppeteer: Screenshots PhantomJS Alternative:

                                Node:v14.21.3

                                Versuchs mal mit aktueller nodejs-Version.

                                1 Reply Last reply Reply Quote 1
                                • Neuschwansteini
                                  Neuschwansteini @Marty56 last edited by

                                  @marty56 ist das ein Docker oder sowas? Ist Chrome und der Adapter mit allen Depencies installiert, also nur den Adapter alleine geht ja nicht, wie du in der Anleitung gelesen hast.. 🙂

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    Marty56 @Neuschwansteini last edited by

                                    @ilovegym Ich finde keine Anleitung zum Installieren. Im Github readme steht nur, wie man puppeteer benutzt, wenn er installiert ist.

                                    Wo finde ich das Vorgehen zum Installieren von chrome?

                                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                                    • Neuschwansteini
                                      Neuschwansteini @Marty56 last edited by

                                      @marty56 hast recht, habs mit Phantomjs verwechselt.. hier sollten alle depencies mit installiert werden..
                                      und das linux ist aufm Raspi installiert, kein Docker?

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        Marty56 @Neuschwansteini last edited by

                                        @ilovegym Aber Dein Hinweis hat mich auf eine Spur gebraucht. Ich habe bemerkt, dass ich unter
                                        /opt/iobroker/node_modules/puppeteer kein verstecktes Verzeichnis
                                        .local-chromium habe.

                                        Keine Ahnung warum. ich habe ganz normal über den Tab Adapter installiert.

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bimmi @Thomas Braun last edited by

                                          Danke für den Adapter!

                                          Gibt es eine Möglichkeit die Qualität des generierten jpg einzustellen?

                                          arteck 1 Reply Last reply Reply Quote 0
                                          • arteck
                                            arteck Developer Most Active @bimmi last edited by

                                            @bimmi RTFM https://github.com/foxriver76/ioBroker.puppeteer/blob/main/README.md

                                            B 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            browser headless phantomjs puppeteer screenshot screenshots website
                                            23
                                            245
                                            25420
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo