这可能是因为Playwright和您提前打开的Chrome浏览器使用了不同的用户数据目录或配置文件。每个浏览器实例都会有自己的Cookie存储位置,所以在一个浏览器实例中登录并保存了Cookie,不会直接在其他浏览器实例中生效。
要在Playwright中加载Cookie,您可以手动将Cookie复制到Playwright的浏览器实例中。以下是一种可能的方法来实现:
from playwright.sync_api import sync_playwright
# 创建 Playwright 实例
with sync_playwright() as playwright:
# 创建浏览器上下文
browser = playwright.chromium.launch()
context = browser.new_context()
# 获取页面对象
page = context.new_page()
# 打开需要登录的网页
page.goto('https://example.com')
# 替换为您提前登录的 Chrome 中的 Cookie
# 这里假设 cookie 是通过 `document.cookie` 获取到的
cookies = [
{'name': 'cookie1', 'value': 'value1'},
{'name': 'cookie2', 'value': 'value2'},
# ...
]
# 设置 Cookie
for c in cookies:
page.set_cookie(c)
# 刷新页面,加载 Cookie
page.reload()
# 在这里进行后续的操作,可以是已登录状态的操作
# 关闭浏览器
context.close()
browser.close()
请注意,为了确保Cookie有效,请确保Cookie的域名、路径和过期时间与您在Chrome浏览器中登录时保存的Cookie一致。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |