【问题标题】:Chrome - Automatically open devtools on network and perserve logChrome - 在网络上自动打开 devtools 并保存日志
【发布时间】:2021-07-20 13:49:56
【问题描述】:
我正在使用 playwright 进行测试自动化。
每次测试运行都会创建一个新的铬实例。
当我通过 --auto-open-devtools-for-tabs 时,它会按预期打开 devtools。
但是,我需要更进一步并启用复选框 Perserve Log。
测试很快,我需要在重定向之前查看请求。
【问题讨论】:
标签:
python
google-chrome
webautomation
playwright
playwright-python
【解决方案1】:
基于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, headless=False, args= ['--auto-open-devtools-for-tabs'])
page = browser.new_page()
page.goto('https://stackoverflow.com/questions/63661366/puppeteer-launch-chromium-with-preserve-log-enabled')