所以我有一个带有段落和按钮的html页面。单击该按钮时,该段落隐藏。我试图在Casperjs中实现自动化。到目前为止,我加载页面,截取屏幕截图,然后单击按钮并拍摄另一个屏幕截图。但是,屏幕截图是相同的
var casper = require('casper').create();
casper.start('http://localhost:3000/example.html', function() {
this.echo("Loaded successfully.");
casper.capture("screenshot1.png");
});
casper.then(function() {
this.evaluate(function() {
this.click('//*[@id="hide"]')
});
});
casper.then(function(){
casper.capture("screenshot2.png");
});
casper.run();
有什么想法吗?
答案 0 :(得分:0)
您不能在evaluate()中使用this.click(),因为evaluate()中的代码将像使用浏览器控制台一样执行代码。您可以使用javascript来获取元素并使用它click()事件或者您可以直接使用this.click()。但是,不要在evaluate()中使用this.click()。
答案 1 :(得分:0)
当您描述问题时,如果您的按钮ID ='隐藏',则可能是代码:
var casper = require('casper').create();
casper.start('http://localhost:3000/example.html', function() {
this.echo("Loaded successfully.");
casper.capture("screenshot1.png");
casper.click('#hide'); // Clicking button with Id='hide'
casper.capture("screenshot2.png"); // capture after clicking button
});
// Execute the whole process
casper.run();
愿这对你有所帮助! TX