casperjs 无法从 APEX 应用程序下载 CSV
casperjs unable to download CSV from APEX application
我正在尝试从 APEX 应用程序自动下载 CSV 文件。
var casper = require('casper').create({verbose: true, logLevel: "debug", viewportSize: { width: 1600, height: 400 } });
var url = "https://example.com"
casper.start(url);
casper.then(function () {
this.fill('#wwvFlowForm', {'P101_USERNAME': 'user', 'P101_PASSWORD': 'password'}, false);
});
casper.then(function () {
this.click('#P101_LOGIN');
}).wait(5000).then(function () {
this.echo('downloading file');
this.download('https://example/apex/f?p=1002:173:10072525691961:CSV','report.csv')
});
casper.run();
我可以登录,但是当我尝试下载文件时出现登录页面 html。
我尝试使用 getBase64 方法得到相同的结果。 casper.download 使用不同的会话吗?
下载前后截图显示我已登录
问题是此 apex 应用程序在 url 中使用 instance_id,因此工作代码是:
var casper = require('casper').create({verbose: true, logLevel: "debug",
viewportSize: { width: 1600, height: 400 } });
var url = "https://example.com"
casper.start(url);
casper.then(function () {
this.fill('#wwvFlowForm', {'P101_USERNAME': 'user', 'P101_PASSWORD': 'password'}, false);
});
casper.then(function () {
this.click('#P101_LOGIN');
}).wait(5000).then(function () {
this.echo('downloading file');
var instance_id = this.getCurrentUrl().split(':')[3];
var download_url = url + '/apex/f?p=1002:173:' + instance_id;
this.download('download_url' + ':CSV','report.csv')
});
casper.run();
我正在尝试从 APEX 应用程序自动下载 CSV 文件。
var casper = require('casper').create({verbose: true, logLevel: "debug", viewportSize: { width: 1600, height: 400 } });
var url = "https://example.com"
casper.start(url);
casper.then(function () {
this.fill('#wwvFlowForm', {'P101_USERNAME': 'user', 'P101_PASSWORD': 'password'}, false);
});
casper.then(function () {
this.click('#P101_LOGIN');
}).wait(5000).then(function () {
this.echo('downloading file');
this.download('https://example/apex/f?p=1002:173:10072525691961:CSV','report.csv')
});
casper.run();
我可以登录,但是当我尝试下载文件时出现登录页面 html。 我尝试使用 getBase64 方法得到相同的结果。 casper.download 使用不同的会话吗? 下载前后截图显示我已登录
问题是此 apex 应用程序在 url 中使用 instance_id,因此工作代码是:
var casper = require('casper').create({verbose: true, logLevel: "debug",
viewportSize: { width: 1600, height: 400 } });
var url = "https://example.com"
casper.start(url);
casper.then(function () {
this.fill('#wwvFlowForm', {'P101_USERNAME': 'user', 'P101_PASSWORD': 'password'}, false);
});
casper.then(function () {
this.click('#P101_LOGIN');
}).wait(5000).then(function () {
this.echo('downloading file');
var instance_id = this.getCurrentUrl().split(':')[3];
var download_url = url + '/apex/f?p=1002:173:' + instance_id;
this.download('download_url' + ':CSV','report.csv')
});
casper.run();