Chrome会保存在localStorage的分机的设置。 因此,定制扩展的一种方法是首先在其上设置上下文,然后用一段Javascript编辑localstorage。
下面是一个例子将两个报头(TOKEN1和token2)至ModHeader:
// add the ModHeader extension
var options = new ChromeOptions();
options.AddExtension(@"C:\Downloads\ModHeader_v2.0.9.crx");
// launch the browser
var driver = new ChromeDriver(options);
// set the context on the extension so the localStorage can be accessed
driver.Navigate().GoToUrl("chrome-extension://idgpnmonknjnojddfkpgkljpfnnfcklj/icon.png");
// setup ModHeader with two headers (token1 and token2)
driver.ExecuteScript(@"
localStorage.setItem('profiles', JSON.stringify([{
title: 'Selenium', hideComment: true, appendMode: '',
headers: [
{enabled: true, name: 'token1', value: '', comment: ''},
{enabled: true, name: 'token2', value: '56789', comment: ''}
],
respHeaders: [],
filters: []
}]));");
// visit a page
driver.Navigate().GoToUrl("http://stackoverflow.com/");
非常感谢弗洛朗乙。它为我工作。你做了我的一天 – Prateek