说我的HTML文档中有不同的<p>
元素。一旦渲染并取决于应用的样式,其中一些可能具有比其他样式更大的字体大小。
如何使用PhantomJS获取<p>
哪个字体大小比其他字体大的内容?这甚至可能吗?
答案 0 :(得分:1)
使用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();
});