Пытаюсь сохранить через selenium в браузере firefox сгенерированный pdf файл, но вместо сохранения файла на диск, он просто отображается в браузере.
Настройки firefox:
private async getFirefoxClient() {
let client = new wd.Builder()
.usingServer(this.SELENIUM_HOST_DEFAULT)
.withCapabilities({ browserName: this.BROWSER_FIREFOX })
.withCapabilities(wd.Capabilities.firefox().set("acceptInsecureCerts", true));
let options = new firefox.Options()
.setPreference("pdfjs.disabled", true)
.setPreference("plugin.scan.plid.all", false)
.setPreference("plugin.scan.Acrobat", "99.0")
.setPreference("browser.download.dir", this.downloadForlder)
.setPreference("browser.download.manager.showWhenStarting", false)
// 0 - desktop, 1 - file download folder, 2 - specified location
.setPreference("browser.download.folderList", 2)
.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf", "application/x-pdf", "application/acrobat", "applications/vnd.pdf", "text/pdf", "text/x-pdf", "application/vnd.cups-pdf", "application/octet-stream");
if (this.headless) {
console.log(`!!!!! HEADLESS MODE !!!!!`);
options = options.headless();
}
client = client.setFirefoxOptions(options);
return client.build();
}
к сгенерированному pdf обращаюсь следующим образом:
await this.client.get("https://server.ru/card/pdf?id=2729206&stamp=1");
Обычными способами (например, через curl) файл скачивать не получится, т.к. доступ к нему в закрытой области сайта и нужна предварительная авторизация.