Skip to content

Fix for current Perplexity UI (2026) - #8

Open
ribbear wants to merge 5 commits into
leonid-shevtsov:mainfrom
ribbear:main
Open

ribbear wants to merge 5 commits into
leonid-shevtsov:mainfrom
ribbear:main

Conversation

@ribbear

@ribbear ribbear commented Aug 9, 2026

Copy link
Copy Markdown

Summary

This PR updates perplexport to work with the current Perplexity.ai interface (as of August 2026).

Changes

Login flow

  • Cookie consent button changed from 'Accept All Cookies' to 'Allow all' (handled with try-catch, works with or without)
  • Added Google One Tap popup dismissal
  • Added 'Sign In' button click (no longer direct email input on homepage)

Library scraping

  • Perplexity library now uses a data table grid (no more \�[href]\ links in main content)
  • Scrolling via \mouse.wheel\ on the correct wide container (not sidebar)
  • Row click + pushState interception to get conversation UUID without leaving the page

Download approach

  • Opens each conversation in a new tab (library page stays open, scroll position preserved)
  • Captures thread API response in the new tab via network listener
  • Closes tab after saving, continues to next row
  • Incremental: saves done.json after each download, resumes where it left off

Additional improvements

  • Support for /computer/tasks/\ URLs (Perplexity Computer feature)
  • Single-line progress output (no log spam)
  • Increased timeouts (90s) for slow responses with graceful error handling
  • Fixed render crash when entries/blocks/rows/query_str are undefined
  • Removed \chmod\ postinstall (Windows compatibility)
  • Rate limit (429) retry with exponential backoff

Tested

  • Successfully exported 1057 conversations (854 new downloads + 202 resumed) on Windows 11 with Node.js

ribbear added 5 commits August 9, 2026 13:45
…ncremental download

- Fixed login flow (cookie consent, Sign In button, email code)
- Fixed library page scraping (data table rows, wheel scroll)
- Added incremental download (click row -> capture API response -> save)
- Added rate limit handling and retry logic
- Added done.json tracking for resume support
- Removed chmod postinstall (Windows compat)
- Increased timeouts to 90s for slow responses
- Handles /computer/tasks/ URLs gracefully (skip)
- 1057 conversations tested successfully (854 new + 202 skipped)
- Download conversations in new tab (library page stays open, scroll preserved)
- Support /computer/tasks/ URLs alongside /search/ URLs
- Progress shown in single overwriting line (no log spam)
- Downloads print on new line for visibility in history
- Fix render crash when entries/blocks/rows are undefined
- Fix render crash when query_str is null
- Skip already-done rows without navigating (just pushState intercept)
- Increased protocolTimeout to 120s
…er path

- Useful for WSL where system Chrome is on the Windows filesystem
- Updated README with setup steps, examples, and troubleshooting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant