我已经开始使用Phantomjs,我不明白。如何使用按钮更改当前页面?例如,我有一个代码:
var page = require('webpage').create();
page.open('https://ru-ru.facebook.com', function() {
page.injectJs('jQuery.js');
page.evaluate(function() {
$('#email').val('MyLogin');
$('#pass').val('MyPass');
$('#u_0_l').click();
});
page.render('example.png');
phantom.exit();
});
所以点击按钮后我需要转到下一页。我怎么能这样做?
答案 0 :(得分:1)
假设$.click()
实际有效,您需要等到页面加载完毕。
<强>的setTimeout:强>
你可能会感到幸运并尝试
page.evaluate(function() {
// form vals and click
});
setTimeout(function(){
page.render('example.png');
phantom.exit();
}, 3000); // 3 sec timeout
waitFor选择器:
您可以使用phantomjs包中的waitFor示例等待您知道的元素仅在加载的页面上,但不在当前页面上。
waitFor loadFinished:
您可以将waitFor与onLoadFinished回调处理程序结合使用,以等待下一页加载。这是优选的,因为这可以每次都有效,并且不会在保守的超时时间内超调。
只需使用CasperJS:
无需添加任何内容。