在Python Playwright爬虫中,可以使用browser.new_context()
方法创建新的浏览器上下文,以便在不同的页面之间隔离会话。以下是一个简单的示例:
from playwright.sync_api import sync_playwright def run(playwright, browser_type): # 创建一个新的浏览器上下文 context = playwright.chromium.launch().new_context() # 在新的浏览器上下文中打开一个页面 page = context.new_page() # 导航到目标网站 page.goto('https://example.com') # 在页面中执行一些操作,例如获取页面标题 title = page.title() print(f'Page title: {title}') # 关闭浏览器页面 page.close() # 关闭浏览器上下文 context.close() if __name__ == '__main__': with sync_playwright() as playwright: run(playwright, browser_type='chromium')
在这个示例中,我们首先使用playwright.chromium.launch()
启动一个新的浏览器实例。然后,我们使用new_context()
方法创建一个新的浏览器上下文。接下来,我们在新的浏览器上下文中打开一个页面,导航到目标网站,并执行一些操作(例如获取页面标题)。最后,我们关闭浏览器页面和浏览器上下文。
如果你想在一个浏览器实例中管理多个会话,可以重复调用new_context()
方法创建新的浏览器上下文。这样,每个浏览器上下文都会有自己的会话和缓存,互不干扰。