2
私は出発点として、この
exampleで
chrome-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現在この機能が不足していますか?
怪しいですね。 https://crbug.comで既存のレポートを確認するか、新しいレポートを送信してください。 – wOxxOm
@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