假设我<p>
的 HTML 文档中有不同的元素。渲染后,根据应用的样式,其中一些字体可能比其他字体大。
如何<p>
使用 PhantomJS 获取哪个字体大小大于其他字体大小的内容?这甚至可能吗?
使用page.evaluate在网页上下文中评估 js 函数。要获取给定元素的字体大小,请使用Window.getComputedStyle。
最后,这可能是这样的
var page = require('webpage').create();
var url = 'http://jquery.com/';//just an example
page.open(url, function(status) {
var results = page.evaluate(function() {
return [].map.call(window.document.querySelectorAll('p'), function(p) {
return {content:p.innerHTML, size:window.getComputedStyle(p)['fontSize']}
}).sort(function(a, b) {return b.size.replace(/px/, '')-a.size.replace(/px/, '');});
});
if(results && results.length>0) {
console.log(JSON.stringify(results[0]));
}
phantom.exit();
});