web-dev-qa-db-fra.com

Comment spécifier la langue du navigateur dans Puppeteer

Je voudrais lancer un navigateur Google Chrome avec la langue espagnole es en utilisant Puppeteer.

J'ai essayé puppeteer.launch(args:['--lang=es',...],...) mais cela n'a pas fonctionné.

J'ai essayé de passer la variable d'environnement LANGUAGE=es mocha puppeteer-test.js mais ça n'a pas marché.

J'ai essayé d'utiliser l'option userDataDir et de passer un dossier avec un fichier Preferences un { "intl": { "accept_languages": "es" } } mais les paramètres du navigateur - les langues n'affichent toujours pas l'espagnol, pas plus que window.navigator.languages ni window.navigator.language

J'utilise
Marionnettiste 0.11.0
Noeud 8.4.0
NPM 5.2.0
macOS El Capitan 10.11.6
MacBook Pro Retina, 15 pouces, mi-2015

15
Giorgio

Il y a une erreur dans la réponse de Md-Abu-Taher.

La réponse à navigator.language devrait renvoyer une chaîne, pas un tableau. Essayez-le dans votre propre console de navigateur.

L'extrait de code doit être:

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