web-dev-qa-db-ja.com

Puppeteerでブラウザー言語を指定する方法

Puppeteerを使用してGoogle Chromeブラウザをスペイン語esで起動します。

puppeteer.launch(args:['--lang=es',...],...)を試しましたが、うまくいきませんでした。

環境変数LANGUAGE=es mocha puppeteer-test.jsを渡してみましたが、機能しませんでした。

userDataDirオプションを使用してPreferencesファイルを含むフォルダーに{ "intl": { "accept_languages": "es" } }を渡そうとしましたが、ブラウザーの設定-言語にスペイン語が表示されず、window.navigator.languagesどちらでもないwindow.navigator.language

私は使っています
Puppeteer 0.11.0
ノード8.4.0
NPM 5.2.0
macOS El Capitan 10.11.6
MacBook Pro Retina、15インチ、2015年中頃

15
Giorgio

Md-Abu-Taherの回答に誤りがあります。

navigator.languageへの応答は、配列ではなく文字列を返す必要があります。独自のブラウザコンソールでお試しください。

コードスニペットは次のようになります。

await page.evaluateOnNewDocument(() => {
    Object.defineProperty(navigator, "language", {
        get: function() {
            return "en-GB";
        }
    });
    Object.defineProperty(navigator, "languages", {
        get: function() {
            return ["en-GB", "en"];
        }
    });
});
0
kaitlinsm