Playwright两种playwright.config.ts配置方式的差异及报错原因
两种Playwright配置差异的原因
第一种配置报错的原因
第一种配置通过...devices['Desktop Chrome']扩展了Playwright内置的桌面Chrome设备预设,这个预设中包含了deviceScaleFactor(设备缩放因子)属性。
当你显式设置viewport: null时,Playwright的规则是:viewport: null代表让浏览器使用原生窗口尺寸(比如通过--start-maximized启动的最大化窗口),此时缩放因子会由浏览器根据系统设置自动决定,不允许手动指定deviceScaleFactor。两者同时存在会触发参数冲突,因此抛出错误:
Error: browser.newContext: "deviceScaleFactor" option is not supported with null "viewport"
第二种配置正常执行的原因
第二种配置仅指定了browserName: 'chromium',没有引入任何设备预设,默认情况下不会自动添加deviceScaleFactor属性。
当设置viewport: null时,由于不存在冲突的deviceScaleFactor参数,Playwright可以正常使用浏览器原生窗口的尺寸和自动计算的缩放因子,因此不会报错。
内容的提问来源于stack exchange,提问作者Debojit Chowdhury
相关产品推荐
相关产品推荐

