aardio 文档

aardio 范例: 网页截长屏

//网页截图
import win.ui;
import win.ui.loadingMask;
import fonts.fontAwesome;
/*DSG{{*/
var winform = win.form(text="网页截长屏";right=1023;bottom=593;bgcolor=0xFFFFFF)
winform.add()
/*}}*/

import web.view;
var wb = web.view(winform); 
winform.show();

var mask = win.ui.loadingMask(winform)
mask.text = "正在打开网页"
mask.show();

wb.go("https://www.aardio.com")
wb.wait(); 
thread.delay(3000);     

//调用 DevTools 方法,并等待返回结果,失败返回 null
var layoutMetrics = wb.cdp("Page.getLayoutMetrics");
var width = layoutMetrics.cssContentSize.width; 
var height = layoutMetrics.cssContentSize.height;  

wb.cdp("Emulation.setDeviceMetricsOverride", {
    width = width;
    height = height;
    deviceScaleFactor = 1;
    mobile = false;
});

var result = wb.cdp("Page.captureScreenshot", {
    format = "png";
    clip = {
        x = 0;
        y = 0;
        width = width;
        height = height;
        scale = 1;
    };
    captureBeyondViewport = true;
});

wb.cdp("Emulation.clearDeviceMetricsOverride");
mask.close();

if(result[["data"]]){

    import crypt;
    var bin = crypt.decodeBin(result.data);
    string.save("/screenshot.png", bin)

    raw.execute("/screenshot.png"); 
}

win.loopMessage();
Markdown 格式