2012-11-15 11 views
7

Versuchen Sie, Cookies mit Chromedriver mit Python (oder Java) zu verwirren.Abrufen oder Bearbeiten aller Cookies in Selenium Webdriver

Ich habe herausgefunden, dass

for cookie in browser.get_cookies(): 
    print(cookie['name'] + ' --> ' + cookie['value']) 

gibt mir nur die Cookies, die für die aktive Seite auf meinen Browsers.

Gibt es irgendeine Methode, die ich kann, entweder mit Selenium oder nativem Python (auf Ubuntu, wenn ich ins Dateisystem gehen muss), erhalten alle Cookies auf meinem aktiven Selen Sitzung?

Antwort

4

Sie einen userdir zur Verfügung stellen kann und die Cookies von dort zu extrahieren.

co = webdriver.ChromeOptions() 
co.add_argument("--user-data-dir=userdir") 
browser = webdriver.Chrome(chrome_options = co) 

Die Cookies werden nach oben in userdir/Default/Cookies enden, die eine SQLite3 Datenbank ist.

0

Warum Sie nicht nur einige http Bibliotheken mit Cookie Inspektion verwenden

import urllib2 
import cookielib 

cookieJar = cookielib.CookieJar() 

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar),urllib2.HTTPHandler()) 
opener.get_method = lambda: 'GET' 

request = urllib2.Request('http://stackoverflow.com/') 
response = opener.open(request) 

for cookie in cookieJar: 
    print cookie