我正在使用phantomjs访问某些网站。是否可以在page.evaluate方法中从站点环境运行函数?您能否提供正确使用的示例。
答案 0 :(得分:1)
是的,当然有可能。您只需在page.evaluate
内调用网站功能即可。考虑一下这个例子:
example.com html
<html>
<head>
</head>
<body style="background-color: white">
<p>A page</p>
<script>
function makeRed() {
document.body.style.backgroundColor = "red";
}
</script>
</body>
</html>
PhantomJS脚本
var page = require('webpage').create();
page.viewportSize = { width: 600, height: 300 };
page.open('http://example.com', function() {
page.evaluate(function(){
makeRed();
});
setTimeout(function(){
page.render('red.png');
phantom.exit();
}, 1000);
});
<强>结果:强>