如何使用puppeteer在移动调试模式下打开Chromium?

时间:2019-08-06 02:09:29

标签: node.js chromium puppeteer

我想使用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
  });

那我该怎么办?

2 个答案:

答案 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)

要完全模拟移动设备,还必须指定其他值,例如widthheightdeviceScaleFactorhasTouch,还可能需要用户代理来指定网站认为您的浏览器是移动设备。您可以手动设置它们(请参阅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);
  // ...
})();
相关问题