我是CasperJS的新手。
当我使用withPopup
时,弹出窗口中的页面似乎没有完全加载...
var casper = require('casper').create({
verbose: true,
})
casper.start('https://www.w3schools.com/js/js_examples.asp').then(function(){
this.capture('try1.png');
this.click('#main p a');
})
casper.waitForPopup(0, function() {
this.capture('try2.png');
}, null, 20000);
casper.withPopup(0, function() {
this.waitForSelector('body', function(){
this.capture('try3.png');
})
});
casper.run(function() {
casper.echo('Done.').exit();
});
答案 0 :(得分:0)
我认为您的问题与click
无关,而与thenOpen
无关。出于某种原因,CasperJS等浏览器自动化库并不总能正确处理点击。如果我是你,我会尝试寻找解决方法。使用简单的var casper = require('casper').create({
viewportSize: {
width: 1366,
height: 768
}
});
casper.start('https://www.w3schools.com/js/js_examples.asp', function () {
this.capture('try1.png');
});
casper.thenOpen('https://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_inner_html', function () {
this.capture('try2.png');
});
casper.run(function () {
casper.echo('Done.').exit();
});
,弹出窗口正确加载...
var i int
for i = n; i >= 10; i = i / 10 {}
// i == most significant digit
答案 1 :(得分:0)
最后,我发现截图不完整,使用withPopup函数时,其视图大小发生了变化。所以只需在withPopup函数中添加this.viewport(1600,1000),然后屏幕截图就可以了。