Поиск цели во всех контекстах браузера.
Пример поиска цели для открытой страницы
с помощью window.open()
или всплывающих окон:
await page.evaluate(() => window.open('https://www.example.com/'))
const newWindowTarget = await browser.waitForTarget(async target => {
await page.evaluate(() => {
runTheScriptYouLike()
console.log('Hello StackOverflow!')
})
})
via browser.pages()
или tabs
Этот скрипт запускает оценку скрипта на второй вкладке:
const pageTab2 = (await browser.pages())[1]
const runScriptOnTab2 = await pageTab2.evaluate(() => {
runTheScriptYouLike()
console.log('Hello StackOverflow!')
})
via page.frames()
или iframes
Пример полученияeval из элемента iframe:
const frame = page.frames().find(frame => frame.name() === 'myframe')
const result = await frame.evaluate(() => {
return Promise.resolve(8 * 7);
});
console.log(result); // prints "56"
Надеюсь, это поможет вам