phantomjs插件---实现通过链接生成网页截图

Phantomjs | PhantomJS


 

  • 配置要求
windows下,安装完成phantomJS
设置phantomjs环境变量【也可直接使用phantomjs目录下的执行文件】
直接通过访问php文件执行/通过cmd命令行执行【phantomjs phantom_script.js】 linux下,安装完成phantomJS
设置phantomjs环境变量
直接命令行执行phantom_script.js即可【phantomjs phantom_script.js】 

  • phantom.php
<?php
// 引入并执行 PhantomJS 脚本
$phantomScript = './phantom_script.js';
$command = 'phantomjs ' . $phantomScript;
$output = shell_exec($command);echo 'Screenshot saved at: ' . trim($output);
  • phantom_script.js
var page = require('webpage').create();
page.viewportSize = { width: 900, height: 600 };var url = 'https://www.kancloud.cn/manual/thinkphp6_0/1037479';  // 替换为您的URLvar timestamp = new Date().getTime();
var savePath = './phantomimg/'+timestamp+'.png';  // 保存截图的路径function takeScreenshot() {page.open(url, function(status) {if (status === 'success') {// 在页面加载完成后,等待一段时间以确保动态数据(如echarts 图表)渲染完全setTimeout(function() {page.render(savePath);console.log(savePath);phantom.exit();}, 2000);  // 设置等待时间,单位为毫秒(根据网页数据加载时间参考等待时间)} else {console.log('Unable to load the page.');phantom.exit();}});
}takeScreenshot()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/136197.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaSE List

目录 1 预备知识-泛型(Generic)1.1 泛型的引入1.2 泛型类的定义的简单演示 1.3 泛型背后作用时期和背后的简单原理1.4 泛型类的使用1.5 泛型总结 2 预备知识-包装类&#xff08;Wrapper Class&#xff09;2.1 基本数据类型和包装类直接的对应关系2.2 包装类的使用&#xff0c;装…

C语言入门Day_22 初识指针

目录 前言&#xff1a; 1.内存地址 2.指针的定义 3.指针的使用 4.易错点 5.思维导图 前言&#xff1a; 之前我们学过变量可以用来存储数据&#xff0c;就像一个盒子里面可以放不同的球一样。 这是一个方便大家理解专业概念的比喻。 在计算机世界里面&#xff0c;数据实…

沪深300股指期权如何交易的呢?

沪深300期权是以沪深300指数为标的资产的期权&#xff0c;交易代码为IO&#xff0c;沪深300股指期权合约权利金报价单位为点&#xff0c;那么沪深300股指期权如何交易的呢&#xff1f;有什么心得和交易技巧吗&#xff1f;本文来自&#xff1a;期权酱 一、沪深300股指期权如何交…

Vue3封装知识点(三)依赖注入:project和inject详细介绍

Vue3封装知识点&#xff08;三&#xff09;依赖注入&#xff1a;project和inject详细介绍 文章目录 Vue3封装知识点&#xff08;三&#xff09;依赖注入&#xff1a;project和inject详细介绍一、project和inject是什么二、为了解决什么问题三、project和inject如何使用1.provid…

服务网格和CI/CD集成:讨论服务网格在持续集成和持续交付中的应用。

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Python:函数和代码复用

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 1、关于递归函…

【python基础】—函数def()的定义与调用、参数、return返回值及变量作用域

文章目录 定义函数&#xff1a;def()语句调用函数&#xff1a;输入函数名和参数对应的值参数return 返回值变量作用域 定义函数&#xff1a;def()语句 语法&#xff1a; def 函数名(参数1,参数2,.....,参数n): 函数体 return 语句举例&#xff1a; def hello(name):print(n…

#循循渐进学5单片机#中断与数码管动态显示#not.5

1、掌握C语言数组的概念、定义和应用。 1&#xff09;数组是一组变量&#xff0c;这组变量需要满足三个条件&#xff1a; 具有相同的数组类型 具有相同的名字 在存储器中是连续的 2&#xff09;声明和初始化 数组类型 数组名【数组长度】 数组类型 数组名【数组长度】 …

【EI会议】第三届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2023)

第三届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2023&#xff09; 2023 3rd International Conference on Information Control, Electrical Engineering and Rail Transit 信息技术及人工智能正在不断地改变我们的生活&#xff0c;也深刻影响着通信、计算机和控制…

循环删除list集合中的元素

使用场景&#xff1a;有一个集合需要对它的元素进行筛选&#xff0c;将不符合条件的元素剔除。 就像上面这个集合&#xff0c;我要将字符串“张三”都删除。首先会想到的是&#xff0c;循环遍历&#xff0c;进行条件判断了。 可是在运行代码时&#xff0c;最后一个"张三&…

CAN总线

can总线看起来和485电路很相似&#xff0c;485出来是AB 线&#xff0c;can出来 CAN_HIGH CAN_LOW 2.CAN总线特点 多主控制不像iic 只能一个主机&#xff0c;也没有地址的概念

three.js——通过顶点和顶点索引创建集合体

通过顶点和顶点索引创建集合体 效果图1、创建顶点数据2、创建顶点属性3、创建材质4、创建网格5、改变网格的位置并添加到场景中6、通过顶点索引创建几何图形 效果图 1、创建顶点数据 // 创建顶点数据 每三个一个顶点 逆时针为正面 const vertices new Float32Array([ -1.0, -…

C语言利用联合体判断大小端

#include<stdio.h>#define SIZE(a) (sizeof(a)) union {/* data */short s;char c[SIZE(short)];short b;int d;char f; }un; int main(int argc,char **argv) {un.s 0x0102;if(SIZE(short) 2)//表示short是16位{printf("\n");printf("c[0] %d,c[1…

Python 基于人脸识别的实验室智能门禁系统的设计,附可视化界面

1 简介 本基于人脸识别的实验室智能门禁系统通过大数据和信息化的技术实现了门禁管理流程的信息化的管理操作。平台的前台页面通过简洁的平台页面设计和功能结构的分区更好的提高用户的使用体验&#xff0c;没有过多的多余的功能&#xff0c;把所有的功能操作都整合在功能操作…

激光焊接汽车PP塑料配件透光率测试仪

随着汽车主机厂对车辆轻量化的需求越来越强烈&#xff0c;汽车零部件轻量化设计、制造也成为汽车零部件生产厂商的重要技术指标。零部件企业要实现产品的轻量化&#xff0c;在材料指定的情况下&#xff0c;要通过产品设计优化、产品壁厚减小和装配方式的优化来解决。使用PP材料…

《可观测性成熟度模型白皮书》正式发布,龙蜥致力打造更好用户体验

背景 云原生计算基金会&#xff08;Cloud Native Computing Foundation&#xff0c;CNCF&#xff09;正式将可观测性引入 IT 领域以来&#xff0c;可观测性市场迅猛发展&#xff0c;涌现出一大批可观测性解决方案&#xff0c;企业也在寻求不同的方式打造可观测性。 然而&…

小米华为,化干戈为玉帛!

近日来&#xff0c;手机圈又掀起了各大厂家推出新品的高潮。首先是华为Mate60的推出&#xff0c;其自研的麒麟9000S芯片瞬间点燃了国内手机市场&#xff0c;得到了国内甚至国外业界人士的认可和好评。 而近日网上盛传的小米创始人雷军的“愿意加入华为技术生态圈”的邀请&…

Vue3 菜鸟入门(一)超详细!

【学习笔记】Java 一对一培训&#xff08;3.1&#xff09;Spring Boot介绍和基础 关键词&#xff1a;Vue 、Vue 3、Java、Spring Boot、Idea、数据库、一对一、培训、教学本文主要内容含Vue3介绍、安装、打包、创建项目、目录结构、起步等内容计划1小时完成&#xff0c;请同学…

AI 图片视频批量清晰化神器封装 CodeFormer

封装和改进了一下开源的代码 CodeFormer&#xff0c; 号称最强的AI 视频去码、图片修复工具&#xff0c;因为用的也是开源代码&#xff0c;所以我的代码部分也没有加密&#xff0c;所有源代码都可以看到&#xff0c;可以修改。把黑白照片上色的功能加上了&#xff0c;然后添加了…

设备树叠加层

设备树覆盖 设备树 (DT)是描述不可发现硬件的命名节点和属性的数据结构。内核&#xff08;例如 Android 中使用的 Linux 内核&#xff09;使用 DT 来支持 Android 设备使用的各种硬件配置。硬件供应商提供他们自己的设备树源 (DTS)文件&#xff0c;这些文件使用设备树编译器编…