我想使用 Puppeteer 启动带有西类牙语 es
语言的 Google Chrome 浏览器。
我试过 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 年中
最佳答案
有多种更改语言环境的方法,您可以尝试所有方法以找到适合您的方法,
启动时使用参数
const browser = await puppeteer.launch({
headless: false,
args: ['--lang=bn-BD,bn']
});
将语言作为标题发送
await page.setExtraHTTPHeaders({
'Accept-Language': 'bn'
});
强制设置语言
// Set the language forcefully on javascript
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, "language", {
get: function() {
return "bn-BD";
}
});
Object.defineProperty(navigator, "languages", {
get: function() {
return ["bn-BD", "bn"];
}
});
});
为了测试,我将使用多种语言(包括es
)对其进行测试,结果如下。
谷歌搜索:
浏览器泄露:
关于javascript - 如何在 Puppeteer 中指定浏览器语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46908636/