IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Passez les cookies de playwright vers Requests ! [Python 3.X]


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 91
    Par défaut Passez les cookies de playwright vers Requests !
    Bonjour a tous ,

    je veux passer les cookies de playwright vers la session requests ,
    mais ça ne marche pas , voila l'erreur .

    playbrowser\Lib\site-packages\requests\cookies.py", line 537, in cookiejar_from_dict
    cookiejar.set_cookie(create_cookie(name, cookie_dict[name]))
    ~~~~~~~~~~~^^^^^^
    TypeError: list indices must be integers or slices, not dict

    voila comment je passe les cookies .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        chromium = playwright.firefox # or "firefox" or "webkit".
        browser = chromium.launch(headless=True,slow_mo=300)
        page = browser.new_page()
     
        r = page.goto("https://monsite.com/home")
     
        page.wait_for_load_state("networkidle")
     
        myCookie = json.dumps(page.context.cookies())
     
        session = requests.session()
     
        cookies = requests.utils.cookiejar_from_dict(myCookie)  # turn dict to cookiejar
        session.cookies.update(cookies)  # load cookiejar to current session
        print(session.get("https://monsite.com/home/checkout").text)
        exit()
    Merci les gars .

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 695
    Par défaut
    Salut,

    Quelque part le message d'erreur dit que cookiejar_from_dict attend autre chose que le myCookie présenté. Mais en cherchant un peu sur Internet, il y a pas mal de solutions qui construisent ce cookiejar en lui ajoutant les items de myCookie.

    Mais on ne va pas les essayer pour vous ni, le cas échéant, remonter le bug aux développeurs de requests.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 512
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 512
    Par défaut
    sauf erreur de ma part json.dumps renvoie une chaine et pas un dictionnaire, donc j'ai l'impression que ça part mal.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 91
    Par défaut
    Merci les gars Problème résolu !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        session = requests.session()
    b = page.context.cookies() # ICI je reçois une List avec plusieurs dictionnaires .
        #print(b)  PRINT COOKIES 
    # et la je fais tous le Taf 
        for i in range(0,len(b)):
            print(b[i]['name'])
            if 'XSRF-TOKEN' in b[i]['name']:
                xtoken = b[i]['value']
            session.cookies.set(name = b[i]['name'], value = b[i]['value'])

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. les cookies
    Par philippe123 dans le forum ASP
    Réponses: 15
    Dernier message: 06/08/2005, 10h39
  2. Les Cookies 4° ! : LA SOLUTION
    Par Ph. B. dans le forum XMLRAD
    Réponses: 2
    Dernier message: 31/01/2003, 16h46
  3. Les cookies 3° !!!
    Par Ph. B. dans le forum XMLRAD
    Réponses: 6
    Dernier message: 28/01/2003, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo