無效的 cookie 域

無效的 cookie 域(invalid cookie domain)錯誤是一種 WebDriver 錯誤,發生在嘗試將 cookie 設定到與當前文件不同 下時。

在 WebDriver 中,不允許為當前 瀏覽上下文 文件 域以外的其他域設定 cookie。

如果文件是“cookie-averse”(對 cookie 敏感)的,即文件不是透過 http://https://ftp:// 載入的,也會發生此錯誤。

示例

其他域

如果當前域是 example.com,則無法為域 example.org 新增 cookie

python
from selenium import webdriver
from selenium.common import exceptions

session = webdriver.Firefox()
session.get("https://example.com/")
try:
    cookie = {"name": "foo",
              "value": "bar",
              "domain": "example.org"}
    session.add_cookie(cookie)
except exceptions.InvalidCookieDomainException as e:
    print(e.message)

輸出

InvalidCookieDomainException: https://example.org/

當您訪問對 cookie 敏感的文件(例如本地磁碟上的檔案)時,也可能會發生此錯誤

python
from selenium import webdriver
from selenium.common import exceptions

session = webdriver.Firefox()
session.get("file:///home/jdoe/document.html")
try:
    foo_cookie = {"name": "foo", "value": "bar"}
    session.add_cookie(foo_cookie)
except exceptions.InvalidCookieDomainException as e:
    print(e.message)

輸出

InvalidCookieDomainException: Document is cookie-averse

另見