Python 使用add_cookie时WebDrive中出现奇怪的异常
我的代码是这样的:Python 使用add_cookie时WebDrive中出现奇怪的异常,python,python-2.7,selenium,selenium-webdriver,urllib2,Python,Python 2.7,Selenium,Selenium Webdriver,Urllib2,我的代码是这样的: response = urllib2.urlopen(request) cookieValue = response.info()["Set-Cookie"] cookie = {'Set-Cookie': cookieValue} driver = webdriver.Chrome() driver.get(innerPageOfTheSameRequest) print cookie driver.add_cookie(cookie) cookie按预期打印: {'S
response = urllib2.urlopen(request)
cookieValue = response.info()["Set-Cookie"]
cookie = {'Set-Cookie': cookieValue}
driver = webdriver.Chrome()
driver.get(innerPageOfTheSameRequest)
print cookie
driver.add_cookie(cookie)
cookie按预期打印:
{'Set-Cookie':'SessionID_R3=dxm0chrdphyuhfl1dri2ep9r6wjha8tx943sv8czp0v6lq1v1/m
u3y/h839tX0zGJ36VtBsIY4EJaxlr78g9gokEfz6HA7wvXb7ECo8nRjXjO0+Ty/E5IC64BseItDk;pa
th=/;HttpOnly;'}
但在最后一行我得到了一个例外:
回溯(最近一次呼叫最后一次):
文件“p.py”,第80行,在
驱动程序。添加cookie(cookie)
文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”,第634行,在add\u cookie中
self.execute(Command.ADD_COOKIE,{'COOKIE':COOKIE_dict})
文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”,第201行,执行
self.error\u handler.check\u响应(响应)
文件“C:\Python27\lib\site packages\selenium\webdriver\remote\errorhandler.py”
,第194行,在check_响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.WebDriverException:消息:未知错误:cookie名称丢失或无效:“未定义”
(会话信息:chrome=48.0.2564.116)
(驱动程序信息:chromedriver=2.21.371459(36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),平台=Windows NT 6.1 SP1 x86_64)
有人能帮我理解我做错了什么?
谢谢您的cookie格式不正确。根据
add_cookie()
的参数是
cookie_dict:字典对象,具有必需的键-“名称”和
“价值”
您没有这两个键,而是有一个Set Cookie头
你的饼干应该是
{'name': SessionID_R3,
'value' : 'dXM0ChrdPhYUhfL1drI2eP9r6Wjha8tX943Sv8CZp0v6LQ2v1/m u3y/h839tX0zGJ36VtBsIY4EJaxlr78g9gokEfz6HA7wvXb7ECo8nRjXjO0+Ty/E5IC64BseItDk',
'path' : '/'}
我不确定您是否可以获得
HttpOnly
,因为文档中没有提到它。我使用如下代码遇到了相同的错误
pickle.dump(driver.get_cookies(), open(cookie_file, "wb"))
cookies = pickle.load(open(cookie_file, "rb"))
driver.add_cookie(cookies)
我没有密切注意我有一块饼干和很多饼干的地方
for c in cookies:
driver.add_cookie(c)
解决了这个问题HttpOnly
在这里是一条红鲱鱼。阿杜·库奇拿了一张带着那个和许多其他钥匙的字典,一切都很好