Skip to content

设备模拟

📱 模拟手机/平板/桌面视角。

DevicePresetpkg/runner/device_presets.go)封装视口、UA、像素比、移动端、触摸等参数。

一个预设 = 一整套移动端配置

--device iphone-15 不是只改视口,而是同时设置视口尺寸、User-Agent、设备像素比、移动端视口标记、触摸仿真——一次模拟整台真机。

预设

--list-devices 查看全部。常用:

名称设备
iphone-15 / iphone-15-proiPhone 15 系列
iphone-14-pro-maxiPhone 14 Pro Max
iphone-seiPhone SE
ipad-pro-12 / ipad-air / ipad-miniiPad 系列
pixel-8-pro / pixel-8 / pixel-7Pixel
galaxy-s24 / galaxy-s23-ultra / galaxy-tab-s9Samsung
desktop-1080p / desktop-1440p / desktop-4k桌面

CLI

bash
snir scan example.com --device iphone-15
snir scan --list-devices

SDK

go
// 预设
opts := sdk.NewScreenshotOptions(sdk.WithDevice("iphone-15"))

// 精细控制
opts := sdk.NewScreenshotOptions(
    sdk.WithDeviceEmulation(390, 844, 3.0, true, true),
)

// 移动端 + 触摸
opts := sdk.NewScreenshotOptions(
    sdk.WithMobileEmulation(3.0),
    sdk.WithTouchEmulation(true),
)

预设应用了什么

ApplyToOptions 写入 Options.Chrome

  • 视口宽高
  • User-Agent
  • 设备像素比(scaleFactor)
  • IsMobile(移动端视口)
  • HasTouch(触摸)

决策

预设应用到 Options.Chrome 的写入时序:

下一步

基于 MIT 许可发布