我开始使用 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();
});
因此,单击按钮后我需要转到下一页。我怎样才能做到这一点?
最佳答案
假设$.click()
确实有效,您需要等待页面加载。
设置超时:
你可能会感到幸运并尝试一下
page.evaluate(function() {
// form vals and click
});
setTimeout(function(){
page.render('example.png');
phantom.exit();
}, 3000); // 3 sec timeout
等待选择器:
您可以使用 waitFor phantomjs 包中的示例等待您知道仅位于加载页面上但不在当前页面上的元素。
等待加载完成:
您可以组合waitFor与 onLoadFinished回调处理程序等待下一页加载。这是更可取的,因为这每次都有效,并且不会因保守的超时而造成超调。
只需使用 CasperJS :
无需添加更多内容。
关于javascript - 如何使用按钮更改 Phantomjs 中的当前页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228685/