foxriver76 / ioBroker.puppeteer

Adapter to control a headless browser to take screenshots of web pages.
MIT License
1 stars 2 forks source link

Screenshot Bildschirmauflösung ändern.... #15

Open 007Schneiderlein opened 6 months ago

007Schneiderlein commented 6 months ago

Hi @foxriver76,

erstmal vielen Dank für den Adapter und die umfangreiche Dokumentation, um diesen auch funktionstüchtig zu bekommen. 🙏😎 Leider bin ich mit meinem Ergebnis noch nicht ganz zu frieden und hätte daher noch zwei Fragen.

Wenn ich folgendes Skript laufen lasse:

var timeout;
const puppeteer = require("puppeteer");

on({id: "telegram.0.communicate.request", change: "any"}, function (obj) {
 var value = obj.state.val;
 var oldValue = obj.oldState.val;
 if (getState("telegram.0.communicate.request").val == '[Stefan]Heiz') {
   sendTo("telegram", "send", {
       text: 'Moment bitte ... '
   });
   bild_pfad = '/media/usb/charts/heiz.png';
     async function run () {
       const browser = await puppeteer.launch({args:['--no-sandbox'],executablePath: '/usr/bin/chromium-browser'})
       const page = await browser.newPage();
       await page.goto('http://192.168.xxx.xxx:xxxxx/vis/index.html?main#6_Heizung');
       await sleep(5000);
       await page.screenshot({path: bild_pfad});
       browser.close();
     }
     run();

     timeout = setTimeout(function () {
             sendTo('telegram', bild_pfad)
           }, 20000);
}
     function sendphoto() {                      // Warteschleife, 3 Sekunden, damit das Bild erzeugt wird
            setTimeout(waittime, 3000); 
}
function waittime() {                       // Nach der Warteschleife, sende das Bild per Telegram
   sendTo('telegram', "/media/usb/charts/heiz.png");    
 }
});

dann kommt folgender Output:

image

Wie du siehst leider nicht vollständig und das eingebettete Chart zeigt auch nur die sandbox, egal welche Verzögerung ich im skript hinterlege..

Wo und wie kann ich den die Auflösung ala width: 1280, height: 800

hinterlegen.??? und

Wie bekomme ich das chart sauber mit übertragen?

Allerbesten Dank schon mal

Grüße Stefan