無效的 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 敏感的文件
當您訪問對 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