在Playwright中,launch_persistent_context
方法用于启动一个持久化的浏览器上下文。这个方法的主要作用是启动一个浏览器实例,并加载用户数据,这样可以在本地已经登录过网站的情况下,下次打开网站不需要登录继续操作。这对于一些爬虫用户是非常重要的功能
在使用launch_persistent_context
方法时,你可以通过user_data_dir
参数指定用户数据目录,这个目录包含了用户的cookies
,所以你只要登录过,就会自动保存。这样你只要代码打开网站,如果不能通过代码自动登录(可能有一些验证码什么的),你可以断点后手工去登录一次,也会记住cookies
。下次代码再打开就不需要登录了
此外,launch_persistent_context
方法还有一些其他的参数,例如accept_downloads
用于接收下载事件,headless
用于设置无头模式,channel
用于指定浏览器类型,默认为chromium
以下是一个使用launch_persistent_context
方法的示例代码:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch_persistent_context(
user_data_dir=f"D:\chrome_userx\yoyo",
accept_downloads=True,
headless=False,
bypass_csp=True,
slow_mo=1000,
channel="chrome"
)
page = browser.new_page()
page.goto("https://www.cnblogs.com/yoyoketang/")
# do ...
browser.close()
需要注意的是,由于launch_persistent_context方法已经创建了一个浏览器上下文,所以你不能再使用browser.new_context()方法创建新的上下文。你只能创建新的页面对象
总的来说,launch_persistent_context方法在Playwright中提供了一种方式,可以在启动浏览器时加载用户数据,这对于需要在本地已经登录过网站的情况下,下次打开网站不需要登录继续操作的场景非常有用