【发布时间】:2019-04-21 19:14:27
【问题描述】:
看看这个简单的代码:
const browser = await puppeteer.launch({headless: false});
const page: Page = await browser.newPage();
await page.evaluate((a) =>
{
//This will open a new page :
([...document.querySelectorAll("a")][0] as HTMLElement).click();
});
如果点击的 A(anchor) 元素具有 target="_blank" ,则该页面将作为新页面打开。
它不是原始页面对象。
问题:
用户点击<a target="_blank"后如何获取新的页面对象?
【问题讨论】:
-
你检查this ticket了吗?
-
@Andersson 感谢您的回复。在我将其作为 dup 删除之前,我没有在答案中看到,如何获得打开的新页面的句柄(不扫描页面 [])
-
不幸的是,除了处理标签列表之外,我不知道识别上次打开标签的另一种方法......
-
如果您只关注页面内容,则可以使用 fetch() 而不是单击它们,这可能会让您头疼。