Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用add_cookie时WebDrive中出现奇怪的异常_Python_Python 2.7_Selenium_Selenium Webdriver_Urllib2 - Fatal编程技术网

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
在这里是一条红鲱鱼。阿杜·库奇拿了一张带着那个和许多其他钥匙的字典,一切都很好