问题描述
我正在使用 playwright 进行测试自动化。
每次测试运行都会创建一个新的 Chromium 实例。
当我通过 --auto-open-devtools-for-tabs
时,它会按预期打开 devtools。
但是,我需要更进一步并启用复选框 Perserve Log。
测试速度很快,我需要在重定向前查看请求。
解决方法
基于 this answer,一种技巧是使用 persistent_context
加载浏览器,关闭浏览器,然后编辑首选项文件设置 Preserve log
值。
user_data_dir = './prefs'
pref_file_path = user_data_dir + '/Default/Preferences'
browser = playwright.chromium.launch_persistent_context(user_data_dir,headless=False,args= ['--auto-open-devtools-for-tabs'])
browser.close()
with open(pref_file_path,'r') as pref_file:
data = json.load(pref_file)
data['devtools'] = {
'preferences': {
'network_log.preserve-log': '"true"'
}
}
with open(pref_file_path,'w') as pref_file:
json.dump(data,pref_file)
browser = playwright.chromium.launch_persistent_context(user_data_dir,args= ['--auto-open-devtools-for-tabs'])
page = browser.new_page()
page.goto('https://stackoverflow.com/questions/63661366/puppeteer-launch-chromium-with-preserve-log-enabled')