我想使用puppeteer启动Chrome,并且在移动调试模式下,这意味着单击devtools中的“切换设备工具栏”按钮。
对不起,我没有足够的声望上传图片。
我尝试了以下代码,但是没有用:
const browser = await puppeteer.launch({
devtools: true,
ignoreHTTPSErrors: true,
isMobile:true //I thought it would be fine to set isMobile: true, but not
});
那我该怎么办?
答案 0 :(得分:0)
isMobile
属性是defaultViewport
对象的一部分,这意味着您应将isMobile
属性放在defaultViewport
对象的内部。
赞:
defaultViewport: {
width: 375,
height: 667,
isMobile: true,
}
完整:
const browser = await puppeteer.launch({
devtools: true,
ignoreHTTPSErrors: true,
defaultViewport: {
width: 375,
height: 667,
isMobile: true,
}
});
答案 1 :(得分:0)
要完全模拟移动设备,还必须指定其他值,例如width
,height
,deviceScaleFactor
,hasTouch
,还可能需要用户代理来指定网站认为您的浏览器是移动设备。您可以手动设置它们(请参阅Yevhen的答案),也可以使用puppeteer通过this answer提供的默认设备描述符之一,并通过调用puppeteer.devices
来应用它们。
代码示例
const puppeteer = require('puppeteer');
const iPhone = puppeteer.devices['iPhone 6'];
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.emulate(iPhone);
await page.goto(url);
// ...
})();