unit-testing - 如何用 puppeteer 模拟设备宽度?
问题描述
我有以下 CSS 代码
body {
background: white;
}
@media screen and (min-device-width: 980px) /* Desktop */ {
body {
background: red;
}
}
如何用 puppeteer 模拟设备大小?page.setVieport()
或--window-size
不工作,因为它模拟视口大小(不是设备)。
解决方案
您可以使用page.emulate函数模拟设备。
文档中的示例:
const puppeteer = require('puppeteer');
const iPhone = puppeteer.devices['iPhone 6'];
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
await page.emulate(iPhone);
await page.goto('https://www.google.com');
// other actions...
await browser.close();
});
如果您在设备列表中找不到您的设备,您可以构建自己的设备并将其传递给emulate
.
推荐阅读
- ruby-on-rails - 使用 docker 和 docker-compose 运行 RSpec 规范
- python - 如何将我的输出从行转换为列?
- javascript - 使用 javascript 定义关闭按钮
- python - 将txt文件中的矩阵转换为numpy形式的矩阵时出错
- java - 评估项目“:app”时出现问题。> java.lang.NoClassDefFoundError: com/android/tools/lint/model/LintModelModuleLoaderProvider
- python - WXPython 事件处理 - 按钮
- google-chrome - 过滤掉 chrome 开发工具中的预检/选项请求
- node.js - npm 错误!JSON.parse package.json 必须是实际的 JSON,而不仅仅是 JavaScript
- python - pytest/unittest:模块中的 mock.patch 函数?
- machine-learning - FluxML Julia 线性回归问题:如何正确训练模型?