Tampermonkey获取渲染后的HTML
2017-12-13 16:56
375 查看
Tampermonkey的官网:http://tampermonkey.net/
由于页面渲染完成的时间不能确定,假设在加载后1秒内渲染完成,输出渲染后的HTML。脚本代码片段如下:
应用:
爬虫、自动化测试等。
由于浏览器功能的限制,脚本不能直接访问系统内的存储设备,它和外界交流的方式好像只有Ajax,但似乎这样就已经足够了。因为只要搭建一个后端与脚本交互(注意解决跨域问题),就能突破这些限制,只是在爬虫的设计上更为复杂。
Tampermonkey脚本已经内置JQuery 1.8.3(查看$().jquery),所以不必引入外面的脚本就能使用JQuery的函数和变量了。
以下是一个手动创建HTML快照的例子:
由于页面渲染完成的时间不能确定,假设在加载后1秒内渲染完成,输出渲染后的HTML。脚本代码片段如下:
setTimeout(function(){ console.log(document.documentElement.outerHTML); },1000);
应用:
爬虫、自动化测试等。
由于浏览器功能的限制,脚本不能直接访问系统内的存储设备,它和外界交流的方式好像只有Ajax,但似乎这样就已经足够了。因为只要搭建一个后端与脚本交互(注意解决跨域问题),就能突破这些限制,只是在爬虫的设计上更为复杂。
Tampermonkey脚本已经内置JQuery 1.8.3(查看$().jquery),所以不必引入外面的脚本就能使用JQuery的函数和变量了。
以下是一个手动创建HTML快照的例子:
// ==UserScript== // @name New Userscript // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author You // @match http://*/* // @connect localhost // ==/UserScript== (function() { 'use strict'; function post(url,obj,func){ $.ajax({ type: 'POST', url: 'http://localhost:8080/'+url, data: JSON.stringify(obj), success: func, contentType: 'application/json; charset=utf-8', dataType:'json' }); } //新建标签页 function jump(url){ $('<a target="_blank"></a>').attr('href',url)[0].click(); } //在页面加入控制按钮 function add(){ var b=$('<button>快照</button>'); b.prependTo('body'); b.click(function(){ b.remove(); snapshot(); add(); }); } function snapshot(){ post('',{html:document.documentElement.outerHTML}); } add(); })();
相关文章推荐
- C# MVC3获取渲染后视图的HTML
- 在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
- 正则表达式获取HTML标记中的内容(C#)
- HTML-获取/修改html页面标题
- html中去掉input获取焦点时候的边框
- 如何用Javascript获取HTML的第二列第三个单元格的内容?
- HTML获取元素
- html获取javascript中的值
- jquery获取html标签的自定义属性值或data值
- 在微信小程序中渲染HTML内容的方法示例
- js获取html页面传参
- SQL获取字段html代码中的img标签图片文件的路径
- 获取静态html页面载入时传入的参数
- python beautifulsoup获取特定html源码
- 浏览器加载和渲染html的顺序
- C#通过url获取页面html
- WebView与Html交互,获取点击事件,并处理响应逻辑
- 使用GET与POST方式获取html数据
- jsoup获取html页面中的内容
- Thymeleaf+SpringMVC,在html中获取数据session、request参数的值