【Nightwatch.js】PDFを任意の場所に自動ダウンロードする ※chrome

【Nightwatch.js】PDFを任意の場所に自動ダウンロードする ※chrome

PDFファイルのダウンロード

画面からPDFを押すと別タブでPDFが表示される場合に、
nightwatchで自動打鍵した時は自動でダウンロードして欲しいという設定。

nightwatch.json

{
    "src_folders": [
        "test"
    ],
    "output_folder": "reports",
    "webdriver": {
        "start_process": true,
        "server_path": "./lib/chromedriver",
        "cli_args": [
            "--verbose"
        ],
        "port": 9515
    },
    "test_settings": {
        "default": {
            "desiredCapabilities": {
                "browserName": "chrome",
                "javascriptEnabled": true,
                "acceptSslCerts": true,
                "chrome.switches": "--disable-extensions",
                "chromeOptions": {
                    "args": [
                        "safebrowsing-disable-download-protection",
                        "--disable-extensions",
                        "--disable-print-preview",
                        "--ignore-certificate-errors"
                    ],
                    "prefs": {
                        "download": {
                            "default_directory": "C:\\opt\\nightwatch\\pdf\\download",
                            "prompt_for_download": false,
                            "always_open_pdf_externally": true,
                            "directory_upgrade": true
                        },
                        "pdfjs.disabled": true,
                        "plugins": {
                            "plugins_disabled": [
                                "Chrome PDF Viewer"
                            ],
                            "always_open_pdf_externally": true
                        }
                    }
                }
            }
        }
    }
}

default_directoryはダウンロード先のディレクトリを絶対指定できるが、\はエスケープさせないとエラーになる。

chromeOptionsでchromeの設定は一通り変えられるみたい。
PDF以外にも、公式でOptionの変更方法があった。

参考

Capabilities & ChromeOptions
公式のドキュメント
【golang】ChromeOptionsを設定する
別の言語でchromedriverを動かしているが、設定の内容はほとんど同じ。これを参考にしました。

nightwatch.jsカテゴリの最新記事