-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathperplexity-selectors.json
More file actions
42 lines (42 loc) · 2.86 KB
/
Copy pathperplexity-selectors.json
File metadata and controls
42 lines (42 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
"textarea": "#ask-input",
"textareaFallback": "[contenteditable='true'][role='textbox']",
"submitButton": "button[aria-label='Submit']",
"submitButtonFallback": "#ask-input ~ button, button[type='submit']",
"modelSelector": "button[aria-label='Choose a model']",
"modelMenuItem": "[role='menuitem']",
"councilOption": "[data-testid='model-council']",
"councilOptionText": "Council",
"councilButtonEvaluate": "[...document.querySelectorAll('button')].find(b => b.textContent.trim() === 'Model council')",
"councilButtonClasses": "bg-subtle",
"threeModelsDropdown": "button[aria-label='3 models']",
"responseContainer": ".prose",
"responseContainerFallback": ".prose:last-of-type",
"lastResponseBlock": ".prose:last-of-type",
"newThreadButton": "a[href='/']",
"loadingIndicator": "[class*='loading'], .animate-pulse",
"streamingIndicator": "[class*='streaming'], .animate-spin",
"sessionConfig": "~/.claude/config/perplexity-session.json",
"sessionMaxAge": 86400000,
"councilUrlParam": null,
"_councilNote": "Council is NOT in the model selector dropdown. It's a separate button with text 'Model council' in the input toolbar, next to a '3 models' dropdown. Use councilButtonEvaluate JS expression to find/click it. If Perplexity adds URL params (e.g., ?model=council), set councilUrlParam to skip all UI interaction.",
"councilSynthesis": "div.prose.inline",
"councilSynthesisFallback": ".prose:first-of-type",
"councilModelCard": "div[class*='overflow-hidden'][class*='rounded-xl'][class*='border-subtler']",
"councilModelCardFallback": "div[class*='cursor-pointer'][class*='p-3'][class*='hover\\:bg-offset-subtle']",
"councilModelClickableRow": "div[class*='cursor-pointer'][class*='p-3'][class*='transition-colors']",
"councilModelNamePill": "div[class*='gap-x-xs'][class*='shrink-0'][class*='rounded-full'][class*='border-subtler'][class*='bg-background']",
"councilModelNameText": "div[class*='font-sans'][class*='text-xs'][class*='font-medium'][class*='text-foreground']",
"councilModelPanel": "div[data-state='active'].h-full",
"councilModelPanelFallback": "div[data-state='active'][class*='h-full']",
"councilModelPanelProse": "div[data-state='active'] .prose",
"councilPanelClose": "button[aria-label='Close']",
"councilCompletedIndicator": "svg",
"councilThinkingSteps": "[class*='steps']",
"councilThreeDotMenu": "button[aria-label='More'], [class*='overflow']",
"councilExportMarkdown": "[role='menuitem']",
"researchReport": "div.prose.max-w-none",
"researchReportFallback": "div.prose:not(.inline)",
"_validated": "2026-02-16",
"_notes": "Validated via DOM recon on 2026-02-16. Council: model cards are div.overflow-hidden.rounded-xl.border.border-subtler (exactly 3). Synthesis is first .prose.inline. Research: full report in right panel div.prose.max-w-none (unique), intro summary in first .prose.inline (left panel, shorter)."
}