The picker's paging state outlives a reopen — navigate, don't assume
Sleeping Gods and Gloomhaven "vanished on the second pass" because the second pass began wherever the first ended: closing and reopening the version sub-view does NOT reset it to page 1 (Angular keeps the scope), so the rescan started mid-list and never revisited the earlier pages holding the row. Verified against the live picker. The second pass now clicks the visible numbered "1" anchor first — and so does the initial scan, since paging state can outlive anything. The reopen is gone entirely. Docs record both this and the has_text whitespace trap. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
co-authored by
Claude Fable 5
parent
6f2f2dac53
commit
6e72ef22d1
@@ -128,9 +128,15 @@ earlier walkthrough had marked *verified*, and the parts marked
|
||||
inside `<li class="visible-xs-*">`. A selector matches both, and
|
||||
`.first` may be the hidden one — Playwright then waits for it to become
|
||||
visible until it times out. Always click the first *visible* match.
|
||||
First/Prev exist ONLY in the mobile set, so they are unclickable on a
|
||||
desktop viewport: to return to page 1, close and reopen the sub-view
|
||||
(it always opens on page 1) and step forward with Next.
|
||||
First/Prev may be unclickable on a desktop viewport (mobile-only
|
||||
variant). To return to page 1, click the visible numbered **"1"**
|
||||
anchor: the sub-view's paging state SURVIVES closing and reopening it
|
||||
(Angular keeps the scope), so a reopen lands wherever it was left, not
|
||||
on page 1.
|
||||
- **Match row text in Python, not with `has_text`.** Playwright's
|
||||
`has_text` regex tests raw `textContent`, which carries the markup's
|
||||
tabs and newlines; a whitespace-normalized capture will never equal it.
|
||||
Normalize both sides yourself and click the row by index.
|
||||
- **Row text is `<game name> (<version name>) (<year>)`**, and the game
|
||||
name is localized (a Czech edition's row starts "Spící bohové"). Match
|
||||
the version name inside its parentheses.
|
||||
|
||||
Reference in New Issue
Block a user