在phantomjs中运行web站点的JavaScript函数

时间:2017-12-29 14:25:51

标签: phantomjs

我正在使用phantomjs访问某些网站。是否可以在page.evaluate方法中从站点环境运行函数?您能否提供正确使用的示例。

1 个答案:

答案 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);

});

<强>结果:

Result