feat: enrich Expedia domain skill with field-tested browser-harness findings#388
Open
PinkClaw wants to merge 1 commit into
Open
feat: enrich Expedia domain skill with field-tested browser-harness findings#388PinkClaw wants to merge 1 commit into
PinkClaw wants to merge 1 commit into
Conversation
…indings Key additions: - Mac Chrome + residential IP = no DataDome issues (contradicts earlier 'cloud browser required' assumption) - goto_url() + new_tab() fallback navigation pattern for browser-harness - [data-stid*="listing"] selector for URL-preload results extraction - CRITICAL: Do NOT click Search with URL pre-load (resets filters) - Stop filter exclusivity quirk (each checkbox = exact stop count, not cumulative) - Dynamic filter IDs — use aria-label matching instead of hard-coded IDs - 5-second wait is required between filter clicks (full page reload) - 10 key lessons from field testing with real Chrome
Contributor
There was a problem hiding this comment.
1 issue found across 1 file
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="agent-workspace/domain-skills/expedia/flights-search.md">
<violation number="1" location="agent-workspace/domain-skills/expedia/flights-search.md:147">
P2: Post-search wait selector `[data-testid*="flight"]` is inconsistent with documented working results selectors (`div[data-testid="listing"]`, `div[role="listitem"]`, `div[data-stid*="listing"]`). This risks false timeouts when results render without any element having a `data-testid` containing "flight".</violation>
</file>
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
| After clicking, wait for results: | ||
| ```python | ||
| page.wait_for_url("**/Flights-Search**", timeout=15000) | ||
| page.wait_for_selector('[data-testid*="flight"]', timeout=30000) |
Contributor
There was a problem hiding this comment.
P2: Post-search wait selector [data-testid*="flight"] is inconsistent with documented working results selectors (div[data-testid="listing"], div[role="listitem"], div[data-stid*="listing"]). This risks false timeouts when results render without any element having a data-testid containing "flight".
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At agent-workspace/domain-skills/expedia/flights-search.md, line 147:
<comment>Post-search wait selector `[data-testid*="flight"]` is inconsistent with documented working results selectors (`div[data-testid="listing"]`, `div[role="listitem"]`, `div[data-stid*="listing"]`). This risks false timeouts when results render without any element having a `data-testid` containing "flight".</comment>
<file context>
@@ -0,0 +1,323 @@
+After clicking, wait for results:
+```python
+page.wait_for_url("**/Flights-Search**", timeout=15000)
+page.wait_for_selector('[data-testid*="flight"]', timeout=30000)
+```
+
</file context>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Substantially enriches the existing Expedia.ca domain skill with findings from real browser-harness + Mac Chrome CDP field testing (2026-05-22):
Key additions
Mac Chrome + residential IP works — contradicts the earlier assumption that a cloud browser with residential proxies is required. With real Chrome on a home ISP, DataDome passes without captchas.
goto_url()+new_tab()fallback pattern — navigate silently first, open new tab only if results don't load. Avoids unnecessary macOS window popups.[data-stid*="listing"]selector — the working selector for the URL-preload results page. Extracts up to 200 listings.CRITICAL: Do NOT click Search with URL pre-load — the pre-filled URL already returns results. Clicking Search reloads the page and resets any applied filters.
Stop filter exclusivity — each checkbox shows exactly that stop count (not cumulative). Nonstop = 0 stops only, 1 stop = exactly 1 stop. Must click both with 5+ second waits for 0 OR 1 stop results.
Dynamic filter IDs — filter IDs have random suffixes. Match by
aria-labelinstead of hard-coded IDs.10 key lessons — comprehensive lessons section covering all field-tested quirks.
Testing
All additions field-tested on live Expedia.ca using browser-harness with Mac Chrome CDP proxy.
Summary by cubic
Enriches the Expedia.ca flight search domain skill with field-tested guidance for stable automation, focusing on direct URL navigation, reliable selectors, and practical anti-bot handling. Improves success rates by using real Chrome on residential IP and avoiding fragile UI flows.
agent-workspace/domain-skills/expedia/flights-search.mdwith tested patterns and 10 key lessons.goto_url()+new_tab()fallback; do not click Search when the URL is pre-filled.[data-stid*="listing"]and examples to extract up to 200 listings.aria-labeland wait 5+ seconds between filter clicks./Flights-Searchloads.Written for commit 531bb25. Summary will update on new commits. Review in cubic