2
私は出発点として、この examplechrome-remote-interfaceを使用して chrome --headless(クロームバージョン59)の通常の3G接続をシミュレートしようとしている

Network.emulateNetworkConditionsはクロームでは動作しません59 --headless

const CDP = require('chrome-remote-interface'); 
const fs = require('fs'); 

CDP(async (client) => { 
    try { 
     const {Page, Tracing, Network} = client; 

     Network.emulateNetworkConditions({ 
      offline: false, 
      latency: 100, 
      downloadThroughput: 750 * 1024/8, 
      uploadThroughput: 250 * 1024/8 
     }); 

     await Promise.all([Network.enable(), Page.enable()]); 

     const { result } = await Network.canEmulateNetworkConditions(); 
     console.log(result); // always false 

     // trace a page load 
     const events = []; 
     Tracing.dataCollected(({value}) => { 
      events.push(...value); 
     }); 
     await Tracing.start(); 
     await Page.navigate({url: 'https://github.com'}); 
     await Page.loadEventFired(); 
     await Tracing.end(); 
     await Tracing.tracingComplete(); 
     // save the tracing data 
     fs.writeFileSync('./timeline.json', JSON.stringify(events)); 
    } catch (err) { 
     console.error(err); 
    } finally { 
     await client.close(); 
    } 
}).on('error', (err) => { 
    console.error(err); 
}); 

しかしNetwork.emulateNetworkConditions動作していないようです。証明するためにNetwork.canEmulateNetworkConditions()は常にfalseを返します。 --headlessフラグがない場合Network.canEmulateNetworkConditions()trueを返します。

chrome-canary --headless(バージョン61)も同じ結果が得られます。

私の例にはエラーまたはクロムが含まれていますか59現在この機能が不足していますか?

+0

怪しいですね。 https://crbug.comで既存のレポートを確認するか、新しいレポートを送信してください。 – wOxxOm

+0

@wOxxOm '--headless'に' emulateNetworkConditions'機能がない可能性がありますhttps://bugs.chromium.org/p/chromium/issues/detail?id=728451&q=emulateNetworkConditions&colspec=ID%20Pri%20M%20Stars% 20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified – Everettss

答えて

0

それは現在Network.emulateNetworkConditionsはクロムで正常に動作やChromeカナリア(64)ヘッドレスモードバージョン64の下のヘッドレスChromeで行方不明featureました。

関連する問題