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

廊坊网站建设方案策划中华艺术宫室内设计

廊坊网站建设方案策划,中华艺术宫室内设计,目标网站上做关键字布局,个人网站鉴赏PhantomJS PhantomJS是一个可编程的无头浏览器#xff0c;‌它基于WebKit内核#xff0c;‌通过JavaScript API进行脚本化操作#xff0c;它对各种web标准有快速和原生化的支持#xff0c;包括DOM处理、CSS选择器、JSON、Canvas和SVG。‌无头浏览器指的是一个完整的浏览器内…PhantomJS PhantomJS是一个可编程的无头浏览器‌它基于WebKit内核‌通过JavaScript API进行脚本化操作它对各种web标准有快速和原生化的支持包括DOM处理、CSS选择器、JSON、Canvas和SVG。‌无头浏览器指的是一个完整的浏览器内核‌包括JavaScript解析引擎、‌渲染引擎、‌请求处理等‌但不包括显示和用户交互页面的浏览器。‌PhantomJS的使用场景包括网页自动化测试、‌网络爬虫、‌生成网页截图等‌它提供了一个隐藏的浏览器环境‌允许开发者通过编程方式控制浏览器的行为‌如加载网页、‌处理JavaScript、‌捕获网页截图。 1.Phantomjs 下载 下载链接: 下载 | PhantomJS Window: phantomjs-2.1.1-windows.zip Linux phantomjs-2.1.1-linux-x86_64.tar.bz2 其他系统版本下载链接中查看支持版本 2.webpage关键字及用法 webpage 常用属性方法及回调事件 2.1webpage属性 page.canGoForward - boolean 判断 window.history.forward 是否是可以向前。 page.canGoBack - boolean 判断 window.history.back 是否是可以回退。 page.clipRect - object 可以被设置成以下形式的对象,指定了屏幕需要被截图的部分 { top: 0, left: 0, width: 1024, height: 768 } page.content - string 当前页面的整个html内容 page.cookies - object 网页Cookies 信息 map数据结构 page.event - object 包含modifiers 和 key属性 map数据结构 page.libraryPath - String 当前的库路径通常是指当前执行的脚本所在的目录 page.loading - boolean 判断页面是否正在加载 page.loadingProgress - number 页面加载进度。 值为100 意味着页面加载完成 page.offlineStoragePath - String sqlite3 localstorage和其他离线数据存储的位置 page.offlineStorageQuota- number 可以离线存储的字节数 page.paperSize - object 类似于clipRect但采用A4纸张大小的尺寸 page.plainText - string 请求页面中的纯文本 page.scrollPosition - object 页面当前滚到到的位置 page.navigationLocked - boolean 是否允许页面弹跳 page.settings - object 页面设置 page.title - string 页面title page.url - string 页面当前url page.viewportSize - string 浏览器窗口大小 page.windowName - string 由WM定义的浏览器窗口的名称 page.zoomFactor - number 缩放因子。1 表示正常焦距 2.2webpage方法 page.childFramesCount  获取页面的子框架数量page.childFrames  获取页面的子框架page.close 关闭当前页面page.currentFrameName 当前页面框架名称page.deleteLaterpage.destroyed 页面是否销毁page.evaluate 获取页面上下文事件,获取实例化页面的数据及方法page.initialized 页面初始化在page创建之后触发page.injectJs 引入外部js到当前页面page.javaScriptAlertSent 处理一个JavaScript 警告框page.javaScriptConsoleMessageSent JavaScript 代码向控制台发送了消息page.loadFinished 页面是否加载完成page.loadStarted 页面开始加载page.openUrl 打开网站页面page.open 打开网站页面page.releasepage.render 当前页面渲染成PNGJPEGGIFPDFpage.resourceError 资源加载失败时触发此事件page.uploadFile 模拟页面中常常会有上传文件的操作page.sendEvent 模拟鼠标键盘交互事件page.setContent 修改page.content和page.url内容会触发reloadpage.addCookie 增加cookiepage.deleteCookie 删除cookiepage.clearCookies 清空cookie 2.3webpage事件 onInitialized  在page创建后触发onLoadStarted 在page 加载时触发onLoadFinished 在page加载完成触发onUrlChanged 在page url改变后触发在onInitialized  之后onNavigationRequested 在 page.navigationLocked 中允许页面跳转才用此接口function(url, type, willNavigate, main)onRepaintRequested 在页面重绘时使用onResourceRequested 在页面请求资源时触发(js,css,img)onResourceReceived 在页面请求资源接收时触发onResourceError 在页面请求资源异常时触发onResourceTimeout 在页面请求资源超时时触发onAlert 在页面alert时触发onConsoleMessage 在页面打印console时触发onClosing 在页面关闭时触发onConfirm 在页面确认时触发 3.使用案例 执行命令(Window): 每位参数以“空格”分割 xxx/xxx/phantomjs-2.1.1-windows/bin/phantomjs.exe xxx/xxx/xxx.js param1 param2 param3 ... 执行命令(Linux): 每位参数以“空格”分割 xxx/xxx/phantomjs-2.1.1-linux-x86_64/bin/phantomjs xxx/xxx/xxx.js param1 param2 param3 ... 3.1params.js params.js 参数传递及打印 system require(system); for(var i0;isystem.args.length;i){     console.log(param(i1)system.args[i]); } phantom.exit(); 3.2open.js open.js打开网页打印网页源码 var page require(webpage).create(); page.open(https://www.baidu.com/, function(status) {     console.log(Status: status);     if(status success) {         console.log(page.content);     }     page.close();     phantom.exit(); }); open_v2.js打开本地静态文件,打印源码 var page require(webpage).create(); page.open(file:///D:/data/appcenter/templates/pdf/af719062053460841d2fa2726a3bd1a1.html, function(status) {     console.log(Status: status);     console.log(page.content);     phantom.exit(); }); 3.3other.js 引入外部JS,并调用方法 open.js 引入 other.js var page require(webpage).create(); page.open(https://www.baidu.com, function(status) {     console.log(Status: status);     page.injectJs(other.js);     if(status success) {         var o page.evaluate(function(){             return other();         });         console.log(o);     }     page.close();     phantom.exit(); }); other.js function other(){     return 我是火星人,入侵地球啦document.title; } 3.4cookie.js 操作cookie数据增删deleteCookie清clearCookies查page.cookies var page require(webpage).create(); page.open(https://www.baidu.com, function(status) {     console.log(Status: status);     var l page.cookies.length;     console.log(原有cookies数量:page.cookies.lengthl);     var c {domain:www.baidu.com,httponly:false,name:Fills, path:/,secure:false,value:Fills-Test}; page.addCookie(c);     l page.cookies.length;     console.log(打印增加后cookies数量:page.cookies.lengthl);     for(var i0;il;i){         var jsonData JSON.stringify(page.cookies[i]);         console.log(jsonData);//遍历cookie 信息     }     console.log(delete 最后一个cookie page.cookies[l-1].name); //删除cookie     page.deleteCookie(page.cookies[l-1].name);     l page.cookies.length;     console.log(删除后page.cookies.lengthl);     page.clearCookies();     l page.cookies.length;     console.log(清楚所有cookie后page.cookies.lengthl);     phantom.exit(); }); 3.5html2Imge.js Html 生成 Image、Pdf var page require(webpage).create(), system require(system), t Date.now(); address system.args[1]; output system.args[2]; width system.args[3]; console.log(urladdress); console.log(参数解析完成:(Date.now()-t)ms); t Date.now(); page.open(address, function (status) {     console.log(statusstatus);     console.log(页面响应完成:(Date.now()-t)ms);     t Date.now();     if (status ! success) {         console.log(Unable to load the address!status);         phantom.exit(1);     } else {         var size page.evaluate(function() {             return {height: document.documentElement.scrollHeight,               width: document.documentElement.scrollWidth};           });         if(!width){             width size.width;         }           console.log(Page size is width x (size.height));         page.viewportSize { width: width, height: size.height };         page.render(output);         console.log(urladdress;finish!生成:(Date.now()-t)ms);         page.close();         phantom.exit();     } }); 3.6echarts2Image.js 生成echart图片 下载 https://www.bootcdn.cn/echarts/ var page require(webpage).create(); var params require(system).args; var width params[2],height params[3],outpath params[4]; var optionStr var option params[1]; console.log(optionStr); console.log(height);console.log(width); console.log(outpath ); page.open(about:blank, function(status) {     console.log(Status: status);     page.injectJs(jquery-1.11.2.min.js);     //下载 https://www.bootcdn.cn/echarts/     page.injectJs(echarts.min.js);     page.evaluate(echarts2Image,optionStr,width,height );     page.viewportSize { width: width, height:height };    page.render(outpath);     console.log(finish);     page.close();     phantom.exit();   }); var echarts2Image function(optionStr, width, height){     var script $(script).attr(type, text/javascript);     script.html(optionStr);     document.getElementsByTagName(head)[0].appendChild(script[0]);     option.animation false;     $(document.body).css(backgroundColor, #FFFFFF);     var echarts2Image   $(div).appendTo(document.body);     echarts2Image.attr(id, echarts2Image);     echarts2Image.css({width : width,height : height});     var myChart echarts.init(document.getElementById(echarts2Image));     myChart.setOption(option); }; 4.Java调用 Java 执行 命令生成图片 Window idea 执行main Linux 执行 class 结果图片pdf忽略 Java源码 TestHtml2Pdf docx PhantomJs将html生成图片pdf.docx 5.参考链接 快速接入:http://wenku.kuryun.com/docs/phantomjs/quickstart.html 案例链接: http://wenku.kuryun.com/docs/phantomjs/examples.html
http://www.pierceye.com/news/757309/

相关文章:

  • 网站关键词快速排名工具wordpress子主题
  • 做百度网站那家好google 网站质量问题
  • 网站建设维护书网站资料清单
  • 网站建设公司 深圳信科网站维护计划
  • 做网站用什么语言比较简单网站seo优化总结
  • 四川省工程建设信息网站南京好的网站设计公司
  • 城市建设单招网站合肥哪个公司做网站好
  • 深圳建站模板建站建筑公司对企业未来希望
  • 商丘网站制作电话文库网站建设
  • 新闻发布网站模板医院网站建设原理
  • 网站开发立项报告网页制作视频教程优质课
  • 网站运营分析竞争对手整站采集wordpress
  • 创建一个网站所需的成本厦门礼品网站商城制作案例
  • 南昌建设企业网站公司游戏源码
  • 网站当电话线做php网站教程视频教程
  • 百度里面的站长工具怎么取消怎么注册公司官网
  • 网站开发遵循软件管理工程师
  • 网站开发问题论文武进网站建设机构
  • 网站建设有哪些种类网站开发工程师岗位
  • 电大形考任在哪个网站做旺道seo优化软件怎么用
  • 新网 网站备案好的作文网站
  • 网站建设技术外包深圳建设公司网站
  • 做旅游网站的数据怎么来垦利网站设计
  • 附近那里有做网站的微信公众平台注册官网
  • 雏鸟短视频app软件下载网站网站建设心得体会500字
  • 权威发布型舆情回应大连网站优化多少钱
  • 怎么做网站步骤免费的怎么用虚拟主机做网站步骤
  • 网站建设精品课程南昌企业网站建设哪家好
  • 网站空间不够用怎么办电子商务公司名字
  • 策划方案网站wordpress设置视频图片