Git Product home page Git Product logo

Comments (13)

shellscape avatar shellscape commented on April 28, 2024 7

fwiw, I'm presently getting around this by injecting the following, using Page.addScriptToEvaluateOnLoad with some logic to check the protocol:

  Object.defineProperty(document, 'cookie', {
    get: function () {
      return this.value || '';
    },
    set: function (cookie) {
      cookie = cookie || '';

      const cutoff = cookie.indexOf(';');
      const pair = cookie.substring(0, cutoff >= 0 ? cutoff : cookie.length);
      const cookies = this.value ? this.value.split('; ') : [];

      cookies.push(pair);

      return this.value = cookies.join('; ');
    }
  });

It 'aint pretty, and I'm loathe to do it, but it gets me by.

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024 2

@barbolo this will be covered with #85

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024 1

@barbolo they share the same context. The #85 will do the isolation.

from puppeteer.

paulirish avatar paulirish commented on April 28, 2024

FWIW the async cookie API is gaining steam and being implemented in chrome. Don't know if the API there is a good match for these usecases though.

Separately, I don't think this should be in the 0.1. We can ship without this.

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024

Discussed with @paulirish, pulling cookies out of this milestone since they seem to be not that important.

from puppeteer.

shellscape avatar shellscape commented on April 28, 2024

@paulirish something to bear in mind: chrome currently has no support for cookies and the file:// protocol - something users leveraging this for automated tests will surely want. (it looks like the --enable-file-cookies flag does bupkis this days)

from puppeteer.

Garbee avatar Garbee commented on April 28, 2024

What is the use-case to have a cookie associated with a local file serve?

from puppeteer.

shellscape avatar shellscape commented on April 28, 2024

@Garbee off of the top of my head; running local mocha tests that include automation tests. there are a litany of modules which utilize headless (and visible) browsers for testing in the browser via mocha, jasmine, etc. I'm running into this particular problem in mocha-chrome, which isn't really meant for automation out of the box, and I can see people who need automation using puppeteer for testing + automation.

from puppeteer.

barbolo avatar barbolo commented on April 28, 2024

Is it possible to support multiple profiles (or multiple cookie jars) for a single chromium launch?

Usage example: choose a user profile (or cookie jar) when creating a new Page object.

from puppeteer.

shellscape avatar shellscape commented on April 28, 2024

@aslushnikov that's only half true - context/sessions will be supported but there's been no public statement about cookies for chrome.

from puppeteer.

aslushnikov avatar aslushnikov commented on April 28, 2024

@shellscape browser contexts isolate cookies

from puppeteer.

shellscape avatar shellscape commented on April 28, 2024

@aslushnikov see #53 (comment)

from puppeteer.

barbolo avatar barbolo commented on April 28, 2024

That's great, @aslushnikov.

Can you confirm if each page has a different cookies context or if they all share the same cookies?

from puppeteer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.