在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()
方法创建新的浏览器上下文。这样,每个浏览器上下文都会有自己的会话和缓存,互不干扰。