[英]executionContextCreated has invalid 'context' error running Selenium and ChromeDriver in Jupyter notebook
[英]Selenium Chromedriver add cookie - invalid domain error
我正在嘗試存儲和上傳我通過 selenium 從網頁中檢索的 cookie。
我是餅干的新手,所以請告訴我我做錯了什么。 我在嘗試學習。
我用硒打開一個頁面,手動登錄,執行一些操作然后等待..(我的代碼設置為在 30 秒后獲取 cookie)
print "adding cookies now"
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
之后,我的 cookies.pkl 文件看起來像這樣:
(lp0
(dp1
Vdomain
p2
V.twitter.com
p3
sVsecure
p4
I00
sVvalue
p5
V"v3:1484006785862560132892059"
p6
sVexpiry
p7
F1531267585.126113
sVpath
p8
# more lines
在此log_in_and_store()
,我嘗試在加載此 cookie 時使用 selenium 重新打開頁面。 如果操作正確,它應該會打開我離開的頁面! 不是登錄頁面。
當我嘗試像這樣將我的 cookie 上傳到網頁時:
driver.get('http://www.website.com')
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
print cookie
driver.add_cookie(cookie)
add_cookies 拋出此錯誤:
selenium.common.exceptions.WebDriverException:消息:無效的 cookie 域:無效域:“.twitter.com”(會話信息:chrome=55.0.2883.95)(驅動程序信息:chromedriver=2.24.417412(ac882d3ce7c0d99292439bf305a6f),cc8005a6f X 10.12.1 x86_64)
我已經嘗試過了,所以請不要將我鏈接到它( 即使我在正確的域中,Selenium addCookie 也獲得了無效的 Cookie 域異常)
我還嘗試過更改 chromedriver 版本,更改我的代碼一百萬次並將我的頭撞在牆上。 這些都沒有用。
請幫忙,非常感謝
我在 Py selenium 中也遇到了這個錯誤。
解決方案是:首先訪問您嘗試添加其 cookie 的網站的主頁。
# first visit home page
url = "https://www.website.com"
driver.get(url)
# add cookies from pickled-txt or a txt file
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
# visit again and you shall see your account logged in
url = "https://www.website.com"
driver.get(url)
原因是:
data:
Selenium webdriver init data:
.data:
不會匹配任何 cookie 域因此,您會收到invalid cookie domain
錯誤。
我對這個錯誤感到非常焦慮,就像其他答案建議我們首先必須加載頁面,然后我們必須加載 cookie,然后再次加載頁面,瞧。
import pickle
from selenium import webdriver
def save_cookie(driver):
with open("cookie", 'wb') as filehandler:
pickle.dump(driver.get_cookies(), filehandler)
def load_cookie(driver):
with open("cookie", 'rb') as cookiesfile:
cookies = pickle.load(cookiesfile)
for cookie in cookies:
print(cookie)
driver.add_cookie(cookie)
driver = webdriver.Chrome(ChromeDriverManager().install())
url = 'https://www.example.com'
driver.get(url)
load_cookie(driver)
# Do you task here
save_cookie(driver)
driver.quit()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.