Javascript 如何在截图中显示内部内容
我用这个脚本下载一个按钮点击网页截图,但问题是,它获取整个图像Javascript 如何在截图中显示内部内容,javascript,Javascript,我用这个脚本下载一个按钮点击网页截图,但问题是,它获取整个图像 // @require https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js // @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js //@require https://cdnjs.cloudflare.c
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
//@require https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js
//@require https://cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js
// @grant none
// @run-at document-end
// ==/UserScript==
(function() {
'use strict';
$("body").prepend ( `
<button id="screenshot"> Get Screenshot</button>
<a id="test"></a>
<div></div>`);
document.getElementById("screenshot").onclick = function() { genScreenshot();};
function genScreenshot() {
html2canvas(document.body, {
onrendered: function(canvas) {
//$('#box1').html("");
//$('#box1').append(canvas);
if (navigator.userAgent.indexOf("MSIE ") > 0 ||
navigator.userAgent.match(/Trident.*rv\:11\./))
{
var blob = canvas.msToBlob();
window.navigator.msSaveBlob(blob,'Test file.png');
}
else {
$('#test').attr('href', canvas.toDataURL("image/jpg"));
$('#test').attr('download','Test file.png');
$('#test')[0].click();
}
}
});
}
// Your code here...
})();
尝试使用库截图页面
此外,您还可以参考如何配置木偶演员模块来截图应用程序
简言之,我们基本上走了
npm i --save puppeteer
然后
const puppeteer = require('puppeteer');
async function run() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://github.com');
await page.screenshot({ path: 'screenshots/github.png' });
browser.close();
}
run();
但是看看教程你怎么认为用大写字母书写是个好主意?不是这样的,大写字母是开着的,所以我就这样写,否则我就只能用驼峰大小写了,我想要的结果实际上是我想用HTML2Canvas下载的屏幕截图中的全部内容。但问题是它没有显示全部内容。此外,它跳过了一些图片,这是不可接受的。所以,如果可以,请帮助。