我有以下代码:
casper.start('http://some-page.local');
casper.then(function () {
this.capture(ss())
});
casper.thenEvaluate(function () {
document.querySelector("input[name='x']").value = 'x'
document.querySelector("input[name='y']").value = 'y'
// document.querySelectorAll("form")[2].submit()
});
casper.then(function () {
this.capture(ss())
});
casper.then(function () {
this.capture(ss())
});
casper.run();
如果我执行这段代码,它可以正常工作,所有3个屏幕截图都已创建。
如果我决定提交表单(取消注释document.querySelectorAll("form")[2].submit()
行),则在第一次屏幕截图后会产生错误:
[error] [phantom]无法将屏幕截图保存到C:/screenshots/0002.png; 请检查权限
[error] [phantom]无法将屏幕截图保存到C:/screenshots/0002.png; 请检查权限
如果第二次this.capture(ss())
来电中的casper.then
被替换为this.captureSelector(ss(), 'html')
,则错误消失。
任何人都可以解释为什么会这样吗?有没有一种通用的方法来捕获使用Casper / Phantom的截图,而不会打印出这样的错误?