指纹

使用 --bot-dpr 设置设备像素比策略

为 BotBrowser 会话选择 profile、real 或 advanced 显示缩放,并在桌面、移动端和 per-context 工作流中保持 DPR 一致。

文档中心

想直接进入 指纹 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

显示缩放是身份的一部分

window.devicePixelRatio 告诉页面一个 CSS 像素背后对应多少个物理像素。普通办公笔记本通常是 1 或 1.25,Retina MacBook 是 2,很多手机是 3。同一个值还会参与 CSS resolution 媒体查询、响应式图片选择和布局计算,因此它和屏幕尺寸、窗口尺寸、色深一起构成显示身份。

当配置文件描述的是一块显示器,而宿主机的显示器是另一块时,同一个会话里就同时存在两套显示信息。BotBrowser 152.0.7977.76 新增了 --bot-dpr,让这个选择变成显式配置,而不是由浏览器恰好运行在哪台机器上来决定。

三种模式

模式适用场景结果
profile由配置文件定义显示身份使用配置文件的显示缩放。默认值。
real会话应跟随宿主机显示器使用宿主机的显示缩放。
advanced宿主机和配置文件的缩放无法对齐为该工作流使用兼容性回退方案。

profile 是默认值,因此现有启动命令的行为保持不变。只有部署确实需要时才设置其他模式。

设备像素比策略 一个启动策略决定显示缩放的来源:配置文件、宿主机显示器或兼容性回退方案。 --bot-dpr 每个会话一个策略 profile:配置文件显示缩放 real:宿主机显示缩放 advanced:兼容性回退 显示身份 DPR、窗口、屏幕、 媒体查询保持一致

启动

chromium-browser \
  --bot-profile="/path/to/profile.enc" \
  --bot-dpr=profile

当宿主机显示器就是预期的显示环境时,切换到 real,例如代表操作者自己显示器的有头工作站会话:

chromium-browser \
  --bot-profile="/path/to/profile.enc" \
  --bot-dpr=real

advanced 是兼容性回退方案,不是精度更高的模式。它保留配置文件的缩放值,只做有限的布局调整,而不是重新缩放整个页面。基于配置文件的会话优先使用 profile,有意跟随宿主机显示器时使用 real。只有两者都不适用时才使用 advanced,并且在评估期间保持配置文件、浏览器版本和启动配置不变。

与窗口和屏幕配合使用

DPR、窗口和屏幕共同构成一套显示配置。要一起修改,不要在多次运行之间逐个调整。

chromium-browser \
  --bot-profile="/path/to/profile.enc" \
  --bot-dpr=profile \
  --bot-window=profile \
  --bot-screen=profile

桌面有头会话默认使用宿主机的窗口和屏幕尺寸。如果有头会话必须报告配置文件中的尺寸,请在 --bot-dpr=profile 旁边同时设置 --bot-window=profile--bot-screen=profile屏幕和窗口指南介绍了尺寸相关标志,设备模拟介绍了移动端配置文件。

Per-context 会话

使用 per-context 指纹时,要在 BrowserContext 创建第一个页面或 worker 之前设置 --bot-dpr。该策略在整个生命周期内都绑定在这个 context 的显示和布局行为上。

const { browserContextId } = await client.send('Target.createBrowserContext', {
  botbrowserFlags: [
    '--bot-profile=/path/to/profile.enc',
    '--bot-dpr=profile'
  ]
});

当主浏览器和 per-context 配置文件代表同一台设备时,使用相同的模式。只有当 context 有意代表不同的显示环境时,才选择不同的模式。扩展浏览器上下文介绍了更完整的 context 生命周期。

验证

  1. 使用选定的配置文件和一种 DPR 模式启动会话。
  2. 整个检查过程中保持窗口、屏幕和 DPR 不变。
  3. 使用相同的配置文件和模式启动第二个会话,确认显示行为一致。
  4. 对比不同模式时,只修改 --bot-dpr,并记录每次运行的完整启动命令。

验证浏览器指纹列出了可以查看所报告显示值的公开检测工具。

故障排查

情况操作
期望使用配置文件的显示行为--bot-dpr=profile
会话必须跟随宿主机显示器--bot-dpr=real
宿主机和配置文件的缩放无法对齐--bot-dpr=advanced
不同 context 之间显示不一致在每个 context 创建页面或 worker 之前设置模式
有头模式的尺寸跟随了宿主机添加 --bot-window=profile--bot-screen=profile

完整的标志说明见 CLI 标志参考

#Device Pixel Ratio#Dpr#Display#Screen#按上下文#Chromium 152

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。