2015-12-21 2 views
2

По существу у меня есть программа, которая использует библиотеку запросов и ее запрос на отправку. Я хочу взять куки-файлы сеанса после того, как был вызван запрос на почту, и загрузите их в webdriver. Я думал о том, чтобы использовать селен и хром-бинарный, но я смущен тем, как это сделать.Экспорт запросов cookie в webdriver

В основном, что у меня такое.

import requests 
url=www.storeUrl.com 
session=requests.Session() 
data={'utf8': '%E2%9C%93', 
    'auth': 'oBLLJkW+A2plgT1lUJeKXq7DdqJSniGnZhnSmpuAQOE%3D', 
    'stat': 'null', 
    'user': 'zdw7287'} 
session.cookies.clear() 
response=session.post(url,data=data) 
storeResponse=session.request('get','http://www.storeUrl.com') 

print storeResponse.cookies 

класс 'requests.cookies.RequestsCookieJar'> Cookie _store_session = BAh7CUkiD3Nlc3Npb25faWQGOgZFRkkiJTBiYmY4MmEzNmRmMjZkMjNhZDdiODg4NWVmYWQ5Y2IzBjsAVEkiB3RqBjsARnsLSSIHcDAGOwBGSXU6CVRpbWUNte4cgFPoSgUKOgtAX3pvbmVJIghFU1QGOwBUOg1uYW5vX251bWkCGgE6DW5hbm9fZGVuaQY6DXN1Ym1pY3JvIgcoIDoLb2Zmc2V0af6wuUkiB3AxBjsARjBJIgdwMgY7AEYwSSIHY3MGOwBGMEkiB2NjBjsARjBJIghpcHMGOwBGWwYiETI0LjkxLjIyNi4zNkkiCWNhcnQGOwBGewdpAph7aQY6C2Nvb2tpZUkiHTEgaXRlbS0tJDM2LS0zMTY0MCwxMjY0MwY7AFRJIhBfY3NyZl90b2tlbgY7AEZJIjFxNHI4QWFUQWNWaXZmY2xIVlNPcHRQeUk2ODF2NTVhbm9pREE1YWFSOHpNPQY7AEY% 3D - eea073c1f0a4fd19163e39536e75eed04ab788f9 для www.storeUrl.com />]>

Как я могу загрузить этот файл cookie в селен? Любая помощь будет принята с благодарностью.

ответ

2

Selenium имеет встроенный add_cookie метод для добавления куки для текущей сессии:

In [4]: browser.add_cookie?? 
Type:  instancemethod 
String form: <bound method WebDriver.add_cookie of <selenium.webdriver.chrome.webdriver.WebDriver (session="8b6e7ab963b91b5050fa1b8ef2bd7bfa")>> 
File:  /usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py 
Definition: browser.add_cookie(self, cookie_dict) 
Source: 
    def add_cookie(self, cookie_dict): 
     """ 
     Adds a cookie to your current session. 

     :Args: 
     - cookie_dict: A dictionary object, with required keys - "name" and "value"; 
      optional keys - "path", "domain", "secure", "expiry" 

     Usage: 
      driver.add_cookie({'name' : 'foo', 'value' : 'bar'}) 
      driver.add_cookie({'name' : 'foo', 'value' : 'bar', 'path' : '/'}) 
      driver.add_cookie({'name' : 'foo', 'value' : 'bar', 'path' : '/', 'secure':True}) 

     """ 
     self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict}) 

В принципе, вы должны передать dict с печеньем для add_cookie метода и session.cookies.get_dict() возвращается dict с печеньем:

driver.add_cookie(session.cookies.get_dict())


SO примеры:

Смежные вопросы