打开页面并单击结果 - Phantomjs

时间:2015-03-24 15:38:02

标签: javascript phantomjs

在phantomjs下面,代码尝试打开一个站点并单击一个按钮:

var page = require('webpage').create();
page.open('http://mysite/mypage.html', function() {
  page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
    page.evaluate(function() {
        $("[name='SubmitForm']").click();

        window.setTimeout(function () {
            page.render('snap.png');
            phantom.exit();
        }, 6000); // Change timeout as required to allow sufficient time 

    });

  });
});

但是当我使用phantomjs test.js运行时,它永远不会返回。

如何加载结果页面?

1 个答案:

答案 0 :(得分:0)

page.evaluate()是sandoxed页面上下文。它无法访问外部定义的变量。因此,在其中使用pagephantomrequire是不可能的。

只需将setTimeout块移到它之外。