当前位置: 首页 > news >正文

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.lryc.cn/news/170209.html

相关文章:

  • SpringBoot分页实现查询数据
  • Jetson Xavier NX 与飞控(Pixhawk 4 Mini)实现串口通信
  • 为什么2022年秋招嵌入式开发岗位薪资大涨?
  • 在HTML里,attribute和property有什么区别?
  • 机器学习入门与实践:从原理到代码
  • SpringCloud在idea中一键启动项目
  • VB过程的递归调用,辗转相除法求最大公约数
  • OpenCV(三十九):积分图像
  • 【Electron 拦截请求实现自定义网络处理】
  • Pytest系列-内置标签skip和skipif 跳过测试用例的详细使用(5)
  • 华为云云耀云服务器L实例评测|docker 常用操作命令
  • RJ45网络信号浪涌保护器解决方案
  • SoC性能指标ARM内核运算能力
  • 注册小鲸鱼88888专用网站
  • GitHub平台 Bookget操作
  • Ag-grid实现列拖拽,将列顺序存储到本地(localStorage),加载页面时根据本地保存的顺序修改列表头顺序,避免刷新页面后列顺序恢复原样
  • 常用的linux命令简要说明以及命令全名理解
  • 《Python趣味工具》——自制emoji3
  • 怎么把录音转换成mp3格式
  • 基于遗传算法改进的BP神经网络图像分割,BP神经网络基本原理,遗传算法流程,
  • uni-app 之 文字分两行显示超出用省略号表示
  • stl_stack_queue的使用及OJ题
  • Linux下的Docker安装,以Ubuntu为例
  • 【深度学习 | LSTM】解开LSTM的秘密:门控机制如何控制信息流
  • 解决npm install遇到的问题:Error while executing:
  • 常见的内网穿透工具有 ngrok/ localtunnel/ frp
  • dvwa命令执行漏洞分析
  • 今年嵌入式行情怎么样?
  • Unity WebGL 编译 报错: emcc2: error: ‘*‘ failed: [WinError 2] ϵͳ�Ҳ���ָ�����ļ���解决办法
  • 三维模型3DTile格式轻量化压缩处理的数据质量提升方法分析