剧作家设置cookie在Python中不起作用

问题描述 投票:0回答:1

我正在尝试使用python在playwright中向浏览器添加cookie,当我打印

BrowserContext
cookies时,我可以看到我添加的cookie,但是当我从浏览器中检查它时,它不存在。如何告诉浏览器从浏览器上下文添加 cookie?这是我的代码:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless = False,devtools=True)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://crawler-test.com/")
    
    # defining a random cookie
    cookies = [{'name': 'temp', 'value': 'temp', 'domain': 'temp.com', 'path': '/'}]
    
    # adding cookie to the browser context
    context.add_cookies(cookies)

    # printing cookies
    print(context.cookies())

    browser.close()

这是在终端中看到的输出:

[{'name': '_ga_78MMTFSGVB', 'value': 'GS1......', 'domain': '.crawler-test.com', 'path': '/', 'expires': 1 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, 
{'name': '_ga', 'value': 'GA1......', 'domain': '.crawler-test.com', 'path': '/', 'expires': 1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, 
{'name': '_gid', 'value': 'GA1.......', 'domain': '.crawler-test.com', 'path': '/', 'expires': 1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, 
{'name': '_gat_UA-7097885-11', 'value': '1', 'domain': '.crawler-test.com', 
'path': '/', 'expires': 1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}, 
{'name': 'temp', 'value': 'temp', 'domain': 'temp.com', 'path': '/', 'expires': -1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}]

如您所见,所需的 cookie 已成功添加到浏览器上下文中,但是当我从浏览器检查 cookie 时,我没有看到添加的 cookie :

python web-crawler playwright playwright-python
1个回答
0
投票

问题在于

domain
,它应该与网站网址匹配。我错误地将其设置为
'temp.com'
,与网站的网址不匹配。应该是
'.crawler-test.com'
。当我更改代码时,cookie 已成功添加。

cookies = [{'name': 'temp', 'value': 'temp', 'domain': '.crawler-test.com', 'path': '/'}]
© www.soinside.com 2019 - 2024. All rights reserved.