When running perplexport, the script fails during login with the following error:
Navigating to Perplexity...
An error occurred: Error: No element found for selector: button::-p-text('Accept All Cookies')
at assert (/.../puppeteer/util/assert.js:18:15)
at CdpFrame.click (/.../puppeteer/api/Frame.js:755:40)
at async login (/.../perplexport/dist/login.js:7:5)
at async exportLibrary (/.../perplexport/dist/exportLibrary.js:28:9)
at async main (/.../perplexport/dist/cli.js:20:5)
Steps to reproduce:
Run npx perplexport export
Script launches Puppeteer and navigates to Perplexity login
Immediately fails with error above
Environment:
Device: Mac Studio (2023)
Chip: Apple M2 Max (Apple Silicon)
RAM: 32 GB
OS: macOS 14.6 (Sonoma)
Node: v22.17.1
Installed via: npx perplexport
Details:
It seems Perplexity has changed its login flow and no longer shows a button with the text “Accept All Cookies.” The Puppeteer selector used in login.js (button::-p-text('Accept All Cookies')) fails because the element is missing or renamed.
Suggested fix:
Update the login logic to handle the new cookie consent flow (or skip if not present).
Consider making the selector optional or more flexible.
When running perplexport, the script fails during login with the following error:
Navigating to Perplexity...
An error occurred: Error: No element found for selector: button::-p-text('Accept All Cookies')
at assert (/.../puppeteer/util/assert.js:18:15)
at CdpFrame.click (/.../puppeteer/api/Frame.js:755:40)
at async login (/.../perplexport/dist/login.js:7:5)
at async exportLibrary (/.../perplexport/dist/exportLibrary.js:28:9)
at async main (/.../perplexport/dist/cli.js:20:5)
Steps to reproduce:
Run npx perplexport export
Script launches Puppeteer and navigates to Perplexity login
Immediately fails with error above
Environment:
Device: Mac Studio (2023)
Chip: Apple M2 Max (Apple Silicon)
RAM: 32 GB
OS: macOS 14.6 (Sonoma)
Node: v22.17.1
Installed via: npx perplexport
Details:
It seems Perplexity has changed its login flow and no longer shows a button with the text “Accept All Cookies.” The Puppeteer selector used in login.js (button::-p-text('Accept All Cookies')) fails because the element is missing or renamed.
Suggested fix:
Update the login logic to handle the new cookie consent flow (or skip if not present).
Consider making the selector optional or more flexible.