我有一个已加载的表单,我只需提交表单。在表单中有input type = hidden字段,其中存储了一些长字符串。这在常规浏览器上工作正常,不适用于casper。在分析这一点时,apache本身从casper获取空的POST数据。如果我减少隐藏输入的数据,它可以正常工作。是否存在尺寸限制或在casper中定义的内容?
以下是代码:
var casper = require('casper').create();
casper.start('http://localhost/loadForm', function() {
// Wait for the page to be loaded
this.waitForSelector('form[action="/saveConfig"]');
});
casper.then(function() {
this.evaluate(function() {
$('#form').submit();
});
});
casper.run();
答案 0 :(得分:1)
以下错误报告对我有所帮助。我认为这是一个幻影错误。其中一个隐藏的字段是存储base64 png图像,在我的html页面中,它由canvas.toDataURL(“image / png”)填充。与实际的浏览器相比,这在casperjs中产生了不同的base64。这导致$ _POST在php中为空。但是当我尝试使用file_get_contents(“php:// input”)时,数据全部存在。我使用canvas.toDataURL(“image / png”,0)解决了它。第二个参数在browers和casperjs中产生一致的输出。