У меня есть расширение, в котором есть прослушиватель для события chrome.runtime.onInstalled , которое открывает новую страницу при установке расширения. Я вижу, что это происходит в обычном Chrome, а также в кукловоде, используя конфигурацию ниже:
browser = await puppeteer.launch({
headless: false,
args: [
`--disable-extensions-except=${extensionPath}`,
`--load-extension=${extensionPath}`
]
})
page = await browser.newPage()
await page.setViewport({
width: config.viewport.width,
height: config.viewport.height
})
Но я не могу получить данные для этой новой вкладки, которые должны быть возвращены этой командой:
let pages = await browser.targets()
pages.forEach( (v, i) => {
console.log(i, v._targetInfo)
})
Что только возвращает это:
console.log test/installedExtension.test.js:49
0 { targetId: '2E60BA3854355C415D48D89AA65727BC',
type: 'page',
title: '',
url: 'about:blank',
attached: false,
browserContextId: '11F90429E632C8BC5C0073B1B74D0497' }
console.log test/installedExtension.test.js:49
1 { targetId: '416b3c97-04e7-4042-9401-d5ea7880bf22',
type: 'browser',
title: '',
url: '',
attached: true }
console.log test/installedExtension.test.js:49
2 { targetId: 'A8AA1B73923E934D284BD65CBF779956',
type: 'background_page',
title: 'Some Random Title',
url:
'chrome-extension://kmendfapggjehodndflmmgagdbamhnfd/_generated_background_page.html',
attached: false,
browserContextId: '11F90429E632C8BC5C0073B1B74D0497' }
console.log test/installedExtension.test.js:49
3 { targetId: '0A42832C4BD6539557765E8E99F113ED',
type: 'background_page',
title: 'My Extension Title',
url:
'chrome-extension://kpepplbhmfgaiibhacpojdokimblkbnh/src/background.html',
attached: false,
browserContextId: '11F90429E632C8BC5C0073B1B74D0497' }
console.log test/installedExtension.test.js:49
4 { targetId: 'C5B3440C60F001E559B01F364093F6CF',
type: 'page',
title: '',
url: 'about:blank',
attached: true,
browserContextId: '11F90429E632C8BC5C0073B1B74D0497' }
Несмотря на то, что он приносит мне информацию о фоновом HTML-адресе расширения, мне нужно открыть открытую вкладку, чтобы сделать некоторые утверждения.
У кого-нибудь есть идеи по этому поводу?