【发布时间】:2022-01-06 10:09:11
【问题描述】:
我想使用 NodeJS 和 Webdriverio 验证文件下载。下载的文件为PDF格式。当 WebDriverIO 点击“下载”时,Firefox 会打开以下下载确认窗口:
我希望 Firefox 自动下载文件而不显示上面的确认窗口,所以我使用了以下代码:
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 仍然显示相同的窗口。如何设置 Firefox 配置文件以便自动下载 PDF 文件而不显示确认对话框? 对于 chrome,一切正常。谢谢!
【问题讨论】:
-
尝试在 perfs 中添加以下行 -> 'browser.helperApps.alwaysAsk.force' : false 'browser.download.manager.showWhenStarting' : false
-
@NitinSahu 不幸的是,但它没有帮助:(
-
奇怪的是它不起作用。我刚看到这个链接stackoverflow.com/questions/23800195/…如果这能解决你的问题,你可以试试
-
@NitinSahu 找到了解决方案:只需添加 'pdfjs.disabled': true 而不是 application/json 使用 application/octet-stream
标签: javascript node.js firefox automation webdriver-io