使用 nodeJS 和 webdriverio 通过 firefox 自动下载文件
Download files automatically through firefox with nodeJS and webdriverio
我想使用 NodeJS 和 Webdriverio 验证文件下载。下载的文件为PDF格式。当 WebDriverIO 单击“下载”时,Firefox 打开以下下载确认 window:
我想让 Firefox 自动下载文件而不显示上面的确认 window,所以我使用了下面的代码:
conf_firefox.js file
require('dotenv').config();
const path = require('path');
const merge = require('deepmerge');
const baseConfig = require('./wdio.conf_base');
exports.config = merge(baseConfig.config, {
services: ['selenium-standalone'],
capabilities: [
{
maxInstances: 2,
browserName: 'firefox',
'moz:firefoxOptions': {
prefs: {
'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'),
'browser.helperApps.neverAsk.saveToDisk': 'application/pdf',
},
},
acceptInsecureCerts: true,
},
],
});
但 Firefox 仍然显示相同 window。我如何设置 Firefox 配置文件以便自动下载 PDF 文件而不显示确认对话框?
chrome 一切正常。谢谢!
找到解决方案:刚刚添加 'pdfjs.disabled': true
而不是 application/json
,使用 application/octet-stream
.
browserName: 'firefox',
'moz:firefoxOptions': {
prefs: {
'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'),
'browser.download.folderList': 2,
'browser.helperApps.neverAsk.saveToDisk': 'application/octet-stream',
'pdfjs.disabled': true,
},
},
这个帽子适合我:
{
browserName: "firefox",
"moz:firefoxOptions": {
prefs: {
"browser.download.dir": downloadDir,
"browser.download.useDownloadDir": true,
"browser.helperApps.alwaysAsk.force": false,
"browser.helperApps.neverAsk.saveToDisk": "application/pdf,image/jpeg,image/jpg,text/calendar,text/csv",
"pdfjs.disabled": true,
},
},
}
我想使用 NodeJS 和 Webdriverio 验证文件下载。下载的文件为PDF格式。当 WebDriverIO 单击“下载”时,Firefox 打开以下下载确认 window:
我想让 Firefox 自动下载文件而不显示上面的确认 window,所以我使用了下面的代码:
conf_firefox.js file
require('dotenv').config();
const path = require('path');
const merge = require('deepmerge');
const baseConfig = require('./wdio.conf_base');
exports.config = merge(baseConfig.config, {
services: ['selenium-standalone'],
capabilities: [
{
maxInstances: 2,
browserName: 'firefox',
'moz:firefoxOptions': {
prefs: {
'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'),
'browser.helperApps.neverAsk.saveToDisk': 'application/pdf',
},
},
acceptInsecureCerts: true,
},
],
});
但 Firefox 仍然显示相同 window。我如何设置 Firefox 配置文件以便自动下载 PDF 文件而不显示确认对话框? chrome 一切正常。谢谢!
找到解决方案:刚刚添加 'pdfjs.disabled': true
而不是 application/json
,使用 application/octet-stream
.
browserName: 'firefox',
'moz:firefoxOptions': {
prefs: {
'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'),
'browser.download.folderList': 2,
'browser.helperApps.neverAsk.saveToDisk': 'application/octet-stream',
'pdfjs.disabled': true,
},
},
这个帽子适合我:
{
browserName: "firefox",
"moz:firefoxOptions": {
prefs: {
"browser.download.dir": downloadDir,
"browser.download.useDownloadDir": true,
"browser.helperApps.alwaysAsk.force": false,
"browser.helperApps.neverAsk.saveToDisk": "application/pdf,image/jpeg,image/jpg,text/calendar,text/csv",
"pdfjs.disabled": true,
},
},
}