简体   繁体   English

Chrome - 在网络上自动打开 devtools 并保存日志

[英]Chrome - Automatically open devtools on network and perserve log

I am using playwright for test automation.我正在使用剧作家进行测试自动化。 Every test run creates a new instance of chromium.每次测试运行都会创建一个新的铬实例。 When I pass --auto-open-devtools-for-tabs it opens devtools as expected.当我通过--auto-open-devtools-for-tabs时,它会按预期打开 devtools。 But, I need to go one step further and have checkbox Perserve Log enabled.但是,我需要进一步 go 并启用复选框 Perserve Log。 Tests are fast and I need to see requests before redirect.测试很快,我需要在重定向之前查看请求。

Based on this answer , one trick would be loading the browser with a persistent_context , closing the browser, and then edit the preference file setting the Preserve log value.基于这个答案,一个技巧是使用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')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM