使用pyppeteer处理多个选项卡

时间:2019-06-18 11:27:14

标签: python pyppeteer

我正在使用peppeteer来检索网站数据,并想打开另一个新标签页(第二个标签页)以检索更详细的数据。检索到指定的数据后,新选项卡将关闭,并切换回第一个选项卡。

我尝试成功打开另一个新标签页并检索数据,但是无法切换回第一个标签页。


    async def details(url, browser):
        detailPage = await browser.newPage()
        await detailPage.goto(url)
        ################
        #retrieve data
        ################
        detailPage.close()

    async def main(websiteURL):
        browser = await launch(headless=False)
        page = await browser.newPage()
        await page.setJavaScriptEnabled(enabled=True)
        await page.goto(websiteURL)
        ################
        #retrieve data and the URL
        ################
        await detail(url,browser)


    asyncio.get_event_loop().run_until_complete(main(websiteURL))

我希望第二个选项卡将关闭并切换回第一个选项卡,但浏览器将关闭,而不是第二个选项卡。

1 个答案:

答案 0 :(得分:0)

您可以在浏览器中列出标签:

tabs = await browser.pages()

通过选择正确的元素在选项卡之间切换:

page_tab1 = tabs[0]
page_tab2 = tabs[1]
page_tab3 = tabs[2]
...