craftdriver 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +6 -5
  2. package/README.md +3 -2
  3. package/dist/cli/pageSemantics.d.ts +3 -39
  4. package/dist/cli/pageSemantics.d.ts.map +1 -1
  5. package/dist/cli/pageSemantics.js +3 -191
  6. package/dist/cli/pageSemantics.js.map +1 -1
  7. package/dist/cli/selector.d.ts +3 -3
  8. package/dist/cli/selector.d.ts.map +1 -1
  9. package/dist/cli/selector.js +6 -9
  10. package/dist/cli/selector.js.map +1 -1
  11. package/dist/cli/snapshot.d.ts +5 -6
  12. package/dist/cli/snapshot.d.ts.map +1 -1
  13. package/dist/cli/snapshot.js +59 -18
  14. package/dist/cli/snapshot.js.map +1 -1
  15. package/dist/index.d.ts +2 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/lib/a11y.d.ts +6 -2
  20. package/dist/lib/a11y.d.ts.map +1 -1
  21. package/dist/lib/a11y.js +3 -1
  22. package/dist/lib/a11y.js.map +1 -1
  23. package/dist/lib/bidi/evaluate.d.ts +11 -0
  24. package/dist/lib/bidi/evaluate.d.ts.map +1 -0
  25. package/dist/lib/bidi/evaluate.js +25 -0
  26. package/dist/lib/bidi/evaluate.js.map +1 -0
  27. package/dist/lib/bidi/types.d.ts +2 -0
  28. package/dist/lib/bidi/types.d.ts.map +1 -1
  29. package/dist/lib/browser.d.ts +1 -1
  30. package/dist/lib/browser.d.ts.map +1 -1
  31. package/dist/lib/browser.js +46 -35
  32. package/dist/lib/browser.js.map +1 -1
  33. package/dist/lib/browserContext.d.ts +4 -6
  34. package/dist/lib/browserContext.d.ts.map +1 -1
  35. package/dist/lib/browserContext.js +5 -7
  36. package/dist/lib/browserContext.js.map +1 -1
  37. package/dist/lib/by.d.ts +65 -27
  38. package/dist/lib/by.d.ts.map +1 -1
  39. package/dist/lib/by.js +47 -20
  40. package/dist/lib/by.js.map +1 -1
  41. package/dist/lib/clearFastPath.d.ts.map +1 -1
  42. package/dist/lib/clearFastPath.js +2 -0
  43. package/dist/lib/clearFastPath.js.map +1 -1
  44. package/dist/lib/clickFastPath.d.ts.map +1 -1
  45. package/dist/lib/clickFastPath.js +2 -0
  46. package/dist/lib/clickFastPath.js.map +1 -1
  47. package/dist/lib/driver.d.ts +19 -0
  48. package/dist/lib/driver.d.ts.map +1 -1
  49. package/dist/lib/driver.js +111 -4
  50. package/dist/lib/driver.js.map +1 -1
  51. package/dist/lib/elementHandle.d.ts +13 -10
  52. package/dist/lib/elementHandle.d.ts.map +1 -1
  53. package/dist/lib/elementHandle.js +119 -50
  54. package/dist/lib/elementHandle.js.map +1 -1
  55. package/dist/lib/errors.d.ts +5 -1
  56. package/dist/lib/errors.d.ts.map +1 -1
  57. package/dist/lib/errors.js +5 -1
  58. package/dist/lib/errors.js.map +1 -1
  59. package/dist/lib/expect.d.ts +10 -0
  60. package/dist/lib/expect.d.ts.map +1 -1
  61. package/dist/lib/expect.js +76 -49
  62. package/dist/lib/expect.js.map +1 -1
  63. package/dist/lib/fillFastPath.d.ts.map +1 -1
  64. package/dist/lib/fillFastPath.js +2 -0
  65. package/dist/lib/fillFastPath.js.map +1 -1
  66. package/dist/lib/frame.d.ts.map +1 -1
  67. package/dist/lib/frame.js +29 -17
  68. package/dist/lib/frame.js.map +1 -1
  69. package/dist/lib/locator.d.ts +21 -54
  70. package/dist/lib/locator.d.ts.map +1 -1
  71. package/dist/lib/locator.js +165 -208
  72. package/dist/lib/locator.js.map +1 -1
  73. package/dist/lib/page.d.ts.map +1 -1
  74. package/dist/lib/page.js +23 -13
  75. package/dist/lib/page.js.map +1 -1
  76. package/dist/lib/pageSemantics.d.ts +42 -0
  77. package/dist/lib/pageSemantics.d.ts.map +1 -0
  78. package/dist/lib/pageSemantics.js +216 -0
  79. package/dist/lib/pageSemantics.js.map +1 -0
  80. package/dist/lib/query.d.ts +68 -0
  81. package/dist/lib/query.d.ts.map +1 -0
  82. package/dist/lib/query.js +590 -0
  83. package/dist/lib/query.js.map +1 -0
  84. package/dist/lib/shadowRoot.d.ts +21 -0
  85. package/dist/lib/shadowRoot.d.ts.map +1 -0
  86. package/dist/lib/shadowRoot.js +29 -0
  87. package/dist/lib/shadowRoot.js.map +1 -0
  88. package/dist/lib/shadowRootLocator.d.ts +31 -0
  89. package/dist/lib/shadowRootLocator.d.ts.map +1 -0
  90. package/dist/lib/shadowRootLocator.js +55 -0
  91. package/dist/lib/shadowRootLocator.js.map +1 -0
  92. package/dist/lib/timing.d.ts +2 -2
  93. package/dist/lib/timing.js +2 -2
  94. package/docs/accessibility.md +9 -1
  95. package/docs/api-reference.md +4 -1
  96. package/docs/browser-api.md +3 -3
  97. package/docs/browser-context.md +3 -3
  98. package/docs/cli.md +10 -7
  99. package/docs/error-codes.md +3 -1
  100. package/docs/getting-started.md +1 -1
  101. package/docs/mcp.md +9 -5
  102. package/docs/public/examples/iframe-child.html +12 -1
  103. package/docs/public/examples/shadow-dom.html +137 -0
  104. package/docs/recipes/login-once-reuse-session.md +1 -1
  105. package/docs/selectors.md +61 -0
  106. package/docs/session-management.md +17 -10
  107. package/package.json +3 -3
  108. package/skills/craftdriver/patterns.md +3 -0
@@ -1,6 +1,6 @@
1
- import { until } from './wait.js';
2
1
  import { CraftdriverError, ErrorCode } from './errors.js';
3
- import { ASSERTION_POLL_INTERVAL_MS, ASSERTION_INNER_WAIT_CAP_MS, DEFAULT_ELEMENT_TIMEOUT_MS, } from './timing.js';
2
+ import { isDetachedShadowError, isTerminalQueryError, withShadowRetryAttempts, } from './query.js';
3
+ import { ASSERTION_POLL_INTERVAL_MS, DEFAULT_ELEMENT_TIMEOUT_MS, } from './timing.js';
4
4
  function matchValue(actual, expected) {
5
5
  if (expected instanceof RegExp) {
6
6
  return expected.test(actual);
@@ -12,9 +12,31 @@ function fmt(expected) {
12
12
  return expected instanceof RegExp ? `/${expected.source}/` : `"${expected}"`;
13
13
  }
14
14
  export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELEMENT_TIMEOUT_MS, contextSwitcher) {
15
+ return expectResolved({
16
+ description: `${by.using}(${by.value})`,
17
+ detail: { selector: `${by.using}=${by.value}`, using: by.using, value: by.value },
18
+ resolveAll: () => driver.findElements(by),
19
+ getDefaultTimeout,
20
+ withContext: contextSwitcher
21
+ ? async (operation) => {
22
+ await contextSwitcher.in();
23
+ try {
24
+ return await operation();
25
+ }
26
+ finally {
27
+ await contextSwitcher.out();
28
+ }
29
+ }
30
+ : undefined,
31
+ });
32
+ }
33
+ /** Build assertions around an arbitrary root-aware element resolver. */
34
+ export function expectResolved(source) {
35
+ const getDefaultTimeout = source.getDefaultTimeout ?? (() => DEFAULT_ELEMENT_TIMEOUT_MS);
36
+ const description = source.description;
15
37
  function fail(message, callerFn, detail) {
16
38
  const error = new CraftdriverError(ErrorCode.EXPECT_MISMATCH, message, {
17
- detail: { selector: `${by.using}=${by.value}`, using: by.using, value: by.value, ...(detail ?? {}) },
39
+ detail: { ...(source.detail ?? {}), ...(detail ?? {}) },
18
40
  });
19
41
  // Remove internal expect.ts frames from stack trace so test file line shows first
20
42
  if (callerFn && Error.captureStackTrace) {
@@ -29,27 +51,45 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
29
51
  * `onMissing` decides what a lookup/read failure means:
30
52
  * - `'retry'` — keep polling (positive matchers: the element must appear and satisfy the predicate).
31
53
  * - `'pass'` — treat as satisfied (negative matchers: a missing element trivially cannot match).
32
- *
33
- * The inner `elementExists` wait is capped at `ASSERTION_INNER_WAIT_CAP_MS` so
34
- * the outer poll stays responsive rather than blocking for the full timeout.
54
+ * Each iteration performs one complete resolver pass, so nested/shadow
55
+ * locators and ordinary document locators share identical assertion scope.
35
56
  */
36
57
  async function pollElement(read, predicate, timeout, onMissing) {
37
58
  const deadline = Date.now() + timeout;
38
59
  let last;
39
- while (Date.now() < deadline) {
60
+ let lastError;
61
+ let stableResolution = false;
62
+ let attempts = 0;
63
+ for (;;) {
64
+ attempts += 1;
40
65
  try {
41
- await driver.wait(until.elementExists(by), { timeout: Math.min(ASSERTION_INNER_WAIT_CAP_MS, timeout) });
42
- const value = await read(await driver.findElement(by));
66
+ const elements = await source.resolveAll();
67
+ stableResolution = true;
68
+ if (elements.length === 0) {
69
+ if (onMissing === 'pass')
70
+ return { matched: true, last };
71
+ throw new Error('element not found');
72
+ }
73
+ const value = await read(elements[0]);
43
74
  last = value;
44
75
  if (predicate(value))
45
76
  return { matched: true, last };
46
77
  }
47
- catch {
48
- if (onMissing === 'pass')
78
+ catch (error) {
79
+ if (isTerminalQueryError(error))
80
+ throw error;
81
+ lastError = error;
82
+ if (onMissing === 'pass' && !isDetachedShadowError(error)) {
49
83
  return { matched: true, last };
84
+ }
50
85
  }
86
+ if (Date.now() >= deadline)
87
+ break;
51
88
  await new Promise((resolve) => setTimeout(resolve, ASSERTION_POLL_INTERVAL_MS));
52
89
  }
90
+ if (!stableResolution && isDetachedShadowError(lastError)) {
91
+ throw withShadowRetryAttempts(lastError, attempts);
92
+ }
53
93
  return { matched: false, last };
54
94
  }
55
95
  const readText = async (el) => (await el.getText())?.trim?.() ?? '';
@@ -60,7 +100,7 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
60
100
  const { matched, last } = await pollElement(readText, (t) => matchValue(t, expected), timeout, 'retry');
61
101
  if (matched)
62
102
  return;
63
- fail(`Expected element ${by.using}(${by.value}) to have text ${fmt(expected)} but got "${last ?? ''}"`, toHaveText);
103
+ fail(`Expected element ${description} to have text ${fmt(expected)} but got "${last ?? ''}"`, toHaveText);
64
104
  };
65
105
  const toContainText = async function toContainText(expected, opts) {
66
106
  const timeout = opts?.timeout ?? getDefaultTimeout();
@@ -68,14 +108,14 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
68
108
  const { matched, last } = await pollElement(readText, contains, timeout, 'retry');
69
109
  if (matched)
70
110
  return;
71
- fail(`Expected element ${by.using}(${by.value}) to contain text ${fmt(expected)} but got "${last ?? ''}"`, toContainText);
111
+ fail(`Expected element ${description} to contain text ${fmt(expected)} but got "${last ?? ''}"`, toContainText);
72
112
  };
73
113
  const toHaveValue = async function toHaveValue(expected, opts) {
74
114
  const timeout = opts?.timeout ?? getDefaultTimeout();
75
115
  const { matched, last } = await pollElement(readValue, (v) => matchValue(v, expected), timeout, 'retry');
76
116
  if (matched)
77
117
  return;
78
- fail(`Expected element ${by.using}(${by.value}) to have value ${fmt(expected)} but got "${last ?? ''}"`, toHaveValue);
118
+ fail(`Expected element ${description} to have value ${fmt(expected)} but got "${last ?? ''}"`, toHaveValue);
79
119
  };
80
120
  const toHaveAttribute = async function toHaveAttribute(name, value, opts) {
81
121
  const timeout = opts?.timeout ?? getDefaultTimeout();
@@ -84,9 +124,9 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
84
124
  if (matched)
85
125
  return;
86
126
  if (value === undefined) {
87
- fail(`Expected element ${by.using}(${by.value}) to have attribute "${name}" but it was not found`, toHaveAttribute);
127
+ fail(`Expected element ${description} to have attribute "${name}" but it was not found`, toHaveAttribute);
88
128
  }
89
- fail(`Expected element ${by.using}(${by.value}) to have attribute "${name}" = ${fmt(value)} but got "${last ?? null}"`, toHaveAttribute);
129
+ fail(`Expected element ${description} to have attribute "${name}" = ${fmt(value)} but got "${last ?? null}"`, toHaveAttribute);
90
130
  };
91
131
  const toHaveClass = async function toHaveClass(className, opts) {
92
132
  const timeout = opts?.timeout ?? getDefaultTimeout();
@@ -94,60 +134,54 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
94
134
  const { matched, last } = await pollElement(readClass, hasClass, timeout, 'retry');
95
135
  if (matched)
96
136
  return;
97
- fail(`Expected element ${by.using}(${by.value}) to have class "${className}" but got "${last ?? ''}"`, toHaveClass);
137
+ fail(`Expected element ${description} to have class "${className}" but got "${last ?? ''}"`, toHaveClass);
98
138
  };
99
139
  const toBeVisible = async function toBeVisible(opts) {
100
140
  const timeout = opts?.timeout ?? getDefaultTimeout();
101
- try {
102
- await driver.wait(until.elementIsVisible(by), { timeout });
103
- }
104
- catch {
105
- fail(`Expected element ${by.using}(${by.value}) to be visible within ${timeout}ms`, toBeVisible);
106
- }
141
+ const { matched } = await pollElement((el) => el.isDisplayed(), (visible) => visible, timeout, 'retry');
142
+ if (!matched)
143
+ fail(`Expected element ${description} to be visible within ${timeout}ms`, toBeVisible);
107
144
  };
108
145
  const toBeNotVisible = async function toBeNotVisible(opts) {
109
146
  const timeout = opts?.timeout ?? getDefaultTimeout();
110
- try {
111
- await driver.wait(until.elementIsNotVisible(by), { timeout });
112
- }
113
- catch {
114
- fail(`Expected element ${by.using}(${by.value}) to become hidden within ${timeout}ms`, toBeNotVisible);
115
- }
147
+ const { matched } = await pollElement((el) => el.isDisplayed(), (visible) => !visible, timeout, 'pass');
148
+ if (!matched)
149
+ fail(`Expected element ${description} to become hidden within ${timeout}ms`, toBeNotVisible);
116
150
  };
117
151
  const toBeEnabled = async function toBeEnabled(opts) {
118
152
  const timeout = opts?.timeout ?? getDefaultTimeout();
119
153
  const { matched } = await pollElement((el) => el.isEnabled(), (v) => v, timeout, 'retry');
120
154
  if (matched)
121
155
  return;
122
- fail(`Expected element ${by.using}(${by.value}) to be enabled within ${timeout}ms`, toBeEnabled);
156
+ fail(`Expected element ${description} to be enabled within ${timeout}ms`, toBeEnabled);
123
157
  };
124
158
  const toBeDisabled = async function toBeDisabled(opts) {
125
159
  const timeout = opts?.timeout ?? getDefaultTimeout();
126
160
  const { matched } = await pollElement((el) => el.isEnabled(), (v) => !v, timeout, 'retry');
127
161
  if (matched)
128
162
  return;
129
- fail(`Expected element ${by.using}(${by.value}) to be disabled within ${timeout}ms`, toBeDisabled);
163
+ fail(`Expected element ${description} to be disabled within ${timeout}ms`, toBeDisabled);
130
164
  };
131
165
  const toBeChecked = async function toBeChecked(opts) {
132
166
  const timeout = opts?.timeout ?? getDefaultTimeout();
133
167
  const { matched } = await pollElement((el) => el.isSelected(), (v) => v, timeout, 'retry');
134
168
  if (matched)
135
169
  return;
136
- fail(`Expected element ${by.using}(${by.value}) to be checked within ${timeout}ms`, toBeChecked);
170
+ fail(`Expected element ${description} to be checked within ${timeout}ms`, toBeChecked);
137
171
  };
138
172
  const toBeNotChecked = async function toBeNotChecked(opts) {
139
173
  const timeout = opts?.timeout ?? getDefaultTimeout();
140
174
  const { matched } = await pollElement((el) => el.isSelected(), (v) => !v, timeout, 'retry');
141
175
  if (matched)
142
176
  return;
143
- fail(`Expected element ${by.using}(${by.value}) to not be checked within ${timeout}ms`, toBeNotChecked);
177
+ fail(`Expected element ${description} to not be checked within ${timeout}ms`, toBeNotChecked);
144
178
  };
145
179
  const notToHaveText = async function notToHaveText(expected, opts) {
146
180
  const timeout = opts?.timeout ?? getDefaultTimeout();
147
181
  const { matched } = await pollElement(readText, (t) => !matchValue(t, expected), timeout, 'pass');
148
182
  if (matched)
149
183
  return;
150
- fail(`Expected element ${by.using}(${by.value}) to NOT have text ${fmt(expected)}`, notToHaveText);
184
+ fail(`Expected element ${description} to NOT have text ${fmt(expected)}`, notToHaveText);
151
185
  };
152
186
  const notToContainText = async function notToContainText(expected, opts) {
153
187
  const timeout = opts?.timeout ?? getDefaultTimeout();
@@ -155,14 +189,14 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
155
189
  const { matched } = await pollElement(readText, notContains, timeout, 'pass');
156
190
  if (matched)
157
191
  return;
158
- fail(`Expected element ${by.using}(${by.value}) to NOT contain text ${fmt(expected)}`, notToContainText);
192
+ fail(`Expected element ${description} to NOT contain text ${fmt(expected)}`, notToContainText);
159
193
  };
160
194
  const notToHaveValue = async function notToHaveValue(expected, opts) {
161
195
  const timeout = opts?.timeout ?? getDefaultTimeout();
162
196
  const { matched } = await pollElement(readValue, (v) => !matchValue(v, expected), timeout, 'pass');
163
197
  if (matched)
164
198
  return;
165
- fail(`Expected element ${by.using}(${by.value}) to NOT have value ${fmt(expected)}`, notToHaveValue);
199
+ fail(`Expected element ${description} to NOT have value ${fmt(expected)}`, notToHaveValue);
166
200
  };
167
201
  const notToHaveAttribute = async function notToHaveAttribute(name, value, opts) {
168
202
  const timeout = opts?.timeout ?? getDefaultTimeout();
@@ -171,9 +205,9 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
171
205
  if (matched)
172
206
  return;
173
207
  if (value === undefined) {
174
- fail(`Expected element ${by.using}(${by.value}) to NOT have attribute "${name}"`, notToHaveAttribute);
208
+ fail(`Expected element ${description} to NOT have attribute "${name}"`, notToHaveAttribute);
175
209
  }
176
- fail(`Expected element ${by.using}(${by.value}) to NOT have attribute "${name}" = ${fmt(value)}`, notToHaveAttribute);
210
+ fail(`Expected element ${description} to NOT have attribute "${name}" = ${fmt(value)}`, notToHaveAttribute);
177
211
  };
178
212
  const notToHaveClass = async function notToHaveClass(className, opts) {
179
213
  const timeout = opts?.timeout ?? getDefaultTimeout();
@@ -181,21 +215,14 @@ export function expectSelector(driver, by, getDefaultTimeout = () => DEFAULT_ELE
181
215
  const { matched } = await pollElement(readClass, lacksClass, timeout, 'pass');
182
216
  if (matched)
183
217
  return;
184
- fail(`Expected element ${by.using}(${by.value}) to NOT have class "${className}"`, notToHaveClass);
218
+ fail(`Expected element ${description} to NOT have class "${className}"`, notToHaveClass);
185
219
  };
186
- // Wrap all methods with context switching if a switcher is provided
220
+ // Wrap all methods with context switching if the source is context-bound.
187
221
  function wrapCtx(fn) {
188
- if (!contextSwitcher)
222
+ if (!source.withContext)
189
223
  return fn;
190
- const sw = contextSwitcher;
191
224
  return (async (...args) => {
192
- await sw.in();
193
- try {
194
- return await fn(...args);
195
- }
196
- finally {
197
- await sw.out();
198
- }
225
+ return source.withContext(() => fn(...args));
199
226
  });
200
227
  }
201
228
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/lib/expect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/lib/expect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fillFastPath.d.ts","sourceRoot":"","sources":["../../src/lib/fillFastPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAmBlD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EAC7C,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAkBf"}
1
+ {"version":3,"file":"fillFastPath.d.ts","sourceRoot":"","sources":["../../src/lib/fillFastPath.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoBlD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EAC7C,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -5,6 +5,8 @@ const RECOVERABLE_FILL_ERRORS = new Set([
5
5
  'element not interactable',
6
6
  ]);
7
7
  function isRecoverableFillError(err) {
8
+ if (CraftdriverError.is(err, ErrorCode.DETACHED_SHADOW_ROOT))
9
+ return true;
8
10
  if (!CraftdriverError.is(err, ErrorCode.DRIVER_ERROR))
9
11
  return false;
10
12
  const code = err.detail?.webDriverError;
@@ -1 +1 @@
1
- {"version":3,"file":"fillFastPath.js","sourceRoot":"","sources":["../../src/lib/fillFastPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG1D,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,iBAAiB;IACjB,yBAAyB;IACzB,0BAA0B;CAC3B,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IACxC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EAAc,EAAE,IAAY;IACrD,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAA6C,EAC7C,cAAwD,EACxD,IAAY,EACZ,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;QAC/B,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC;QAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,mBAAmB,IAAI,CAAC;YAAE,MAAM,GAAG,CAAC;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"fillFastPath.js","sourceRoot":"","sources":["../../src/lib/fillFastPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG1D,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,iBAAiB;IACjB,yBAAyB;IACzB,0BAA0B;CAC3B,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,oBAAoB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IACxC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EAAc,EAAE,IAAY;IACrD,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAA6C,EAC7C,cAAwD,EACxD,IAAY,EACZ,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;QAC/B,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC;QAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,mBAAmB,IAAI,CAAC;YAAE,MAAM,GAAG,CAAC;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/lib/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,KAAK,SAAS,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAS7C,qBAAa,KAAK;IAcd,OAAO,CAAC,cAAc;IAbxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAiB;gBAG5B,MAAM,EAAE,MAAM,EACN,cAAc,EAAE,MAAM,EAC9B,iBAAiB,EAAE,MAAM,MAAM,EAC/B,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,cAAc,CAAA;KAAE;IAmB1D,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,aAAa;IAM1C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,OAAO;IAMvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS;IAKlC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAcxD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAexE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7E,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAetG,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,EACxC,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,CAAC,CAAC;IA+CP,gBAAgB,CACpB,KAAK,GAAE,SAAkB,EACzB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,IAAI,CAAC;IA8CV,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAItB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/B"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/lib/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAO3D,KAAK,SAAS,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAS7C,qBAAa,KAAK;IAcd,OAAO,CAAC,cAAc;IAbxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAiB;gBAG5B,MAAM,EAAE,MAAM,EACN,cAAc,EAAE,MAAM,EAC9B,iBAAiB,EAAE,MAAM,MAAM,EAC/B,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,cAAc,CAAA;KAAE;IAmB1D,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,aAAa;IAW1C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,OAAO;IAWvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS;IAKlC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoBxD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAexE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7E,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAetG,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,EACxC,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,CAAC,CAAC;IAiDP,gBAAgB,CACpB,KAAK,GAAE,SAAkB,EACzB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,IAAI,CAAC;IA8CV,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAItB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/B"}
package/dist/lib/frame.js CHANGED
@@ -16,6 +16,7 @@ import { until } from './wait.js';
16
16
  import { DEFAULT_NAVIGATION_TIMEOUT_MS, STATE_POLL_INTERVAL_MS } from './timing.js';
17
17
  import { clickWithFastPath } from './clickFastPath.js';
18
18
  import { fillWithFastPath } from './fillFastPath.js';
19
+ import { withRealmRetry } from './bidi/evaluate.js';
19
20
  export class Frame {
20
21
  frameElementId;
21
22
  driver;
@@ -46,12 +47,18 @@ export class Frame {
46
47
  find(selector) {
47
48
  const by = typeof selector === 'string' ? By.css(selector) : selector;
48
49
  return new ElementHandle(this.driver, by, this.getDefaultTimeout)
49
- .withContext(this.contextSwitcher);
50
+ .withContext(this.contextSwitcher)
51
+ .withBiDi(() => this.conn?.isConnected() && this.bidiContextId
52
+ ? { connection: this.conn, contextId: this.bidiContextId }
53
+ : undefined);
50
54
  }
51
55
  locator(selector) {
52
56
  const by = typeof selector === 'string' ? By.css(selector) : selector;
53
57
  return new Locator(this.driver, by, this.getDefaultTimeout)
54
- .withContext(this.contextSwitcher);
58
+ .withContext(this.contextSwitcher)
59
+ .withBiDi(() => this.conn?.isConnected() && this.bidiContextId
60
+ ? { connection: this.conn, contextId: this.bidiContextId }
61
+ : undefined);
55
62
  }
56
63
  expect(selector) {
57
64
  const by = typeof selector === 'string' ? By.css(selector) : selector;
@@ -67,7 +74,11 @@ export class Frame {
67
74
  finally {
68
75
  await this.contextSwitcher.out();
69
76
  }
70
- return webElements.map((we) => ElementHandle.fromWebElement(this.driver, we, this.getDefaultTimeout).withContext(this.contextSwitcher));
77
+ return webElements.map((we) => ElementHandle.fromWebElement(this.driver, we, this.getDefaultTimeout)
78
+ .withContext(this.contextSwitcher)
79
+ .withBiDi(() => this.conn?.isConnected() && this.bidiContextId
80
+ ? { connection: this.conn, contextId: this.bidiContextId }
81
+ : undefined));
71
82
  }
72
83
  async click(selector, opts) {
73
84
  const by = typeof selector === 'string' ? By.css(selector) : selector;
@@ -121,25 +132,26 @@ export class Frame {
121
132
  // ── Evaluate ─────────────────────────────────────────────────────────────
122
133
  async evaluate(fn, ...args) {
123
134
  const fnSrc = typeof fn === 'function' ? fn.toString() : fn;
124
- if (this.conn && this.bidiContextId) {
125
- const target = { context: this.bidiContextId };
126
- let result;
127
- if (typeof fn === 'function') {
128
- result = await this.conn.send('script.callFunction', {
129
- functionDeclaration: fnSrc,
130
- target,
131
- arguments: args.map(serializeLocalValue),
132
- awaitPromise: true,
133
- });
134
- }
135
- else {
136
- result = await this.conn.send('script.callFunction', {
135
+ const conn = this.conn;
136
+ const bidiContextId = this.bidiContextId;
137
+ if (conn && bidiContextId) {
138
+ const target = { context: bidiContextId };
139
+ const result = await withRealmRetry(() => {
140
+ if (typeof fn === 'function') {
141
+ return conn.send('script.callFunction', {
142
+ functionDeclaration: fnSrc,
143
+ target,
144
+ arguments: args.map(serializeLocalValue),
145
+ awaitPromise: true,
146
+ });
147
+ }
148
+ return conn.send('script.callFunction', {
137
149
  functionDeclaration: `function() { ${fnSrc} }`,
138
150
  target,
139
151
  arguments: [],
140
152
  awaitPromise: true,
141
153
  });
142
- }
154
+ });
143
155
  if (result.type === 'exception') {
144
156
  throw new Error(`evaluate() threw an exception in the frame: ${result.exceptionDetails?.text ?? 'unknown error'}`);
145
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/lib/frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/lib/frame.ts"],"names":[],"mappings":"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"}
@@ -1,119 +1,86 @@
1
1
  import { By } from './by.js';
2
2
  import type { Driver } from './driver.js';
3
- import { ElementHandle, type ContextSwitcher } from './elementHandle.js';
3
+ import { ElementHandle } from './elementHandle.js';
4
4
  import type { ExpectApi } from './expect.js';
5
5
  import { A11y } from './a11y.js';
6
+ import { QueryEnvironment, type ContextSwitcher, type LocatorPlan, type QueryBiDiProvider } from './query.js';
7
+ import { ShadowRootLocator } from './shadowRootLocator.js';
6
8
  export interface ActionOptions {
7
9
  timeout?: number;
8
10
  }
9
11
  export declare class Locator {
10
12
  private driver;
11
- private by;
12
13
  private getDefaultTimeout;
13
- private _index;
14
- private _filterText;
15
- private _filterHas;
16
- private _parent;
17
- private _contextSwitcher?;
18
- constructor(driver: Driver, by: By, getDefaultTimeout?: () => number);
19
- /** Bind this locator to a browsing context (iframe/tab) for frame-scoped element resolution. */
14
+ private plan;
15
+ private environment;
16
+ constructor(driver: Driver, by: By, getDefaultTimeout?: () => number, environment?: QueryEnvironment, plan?: LocatorPlan);
17
+ /** Internal factory used by root-aware search contexts. */
18
+ static fromPlan(driver: Driver, plan: LocatorPlan, getDefaultTimeout: () => number, environment: QueryEnvironment): Locator;
19
+ /** Internal immutable snapshot for child/root/filter composition. */
20
+ _queryPlan(): LocatorPlan;
21
+ /** Internal shared query environment for child/root composition. */
22
+ _queryEnvironment(): QueryEnvironment;
23
+ /** Bind this locator to a browsing context (iframe/tab). */
20
24
  withContext(switcher: ContextSwitcher): this;
25
+ /** Bind this locator to a live BiDi context provider. */
26
+ withBiDi(provider: QueryBiDiProvider): this;
21
27
  private _withContext;
22
- /** Return a new child Locator whose search is scoped within this locator's first match. */
28
+ /** Return a new child Locator scoped within this locator's first match. */
23
29
  locator(selector: string | By): Locator;
24
- /** Return a child Locator matching a descendant by ARIA role, scoped within this locator's first match. */
30
+ /** Cross the explicit open Shadow DOM boundary exposed by the current host. */
31
+ shadowRoot(): ShadowRootLocator;
25
32
  getByRole(role: string, opts?: {
26
33
  name?: string;
27
34
  exact?: boolean;
28
35
  includeHidden?: boolean;
29
36
  }): Locator;
30
- /** Return a child Locator matching a descendant by visible text, scoped within this locator's first match. */
31
37
  getByText(text: string, opts?: {
32
38
  exact?: boolean;
33
39
  }): Locator;
34
- /** Return a child Locator matching a descendant by associated label, scoped within this locator's first match. */
35
40
  getByLabel(text: string, opts?: {
36
41
  exact?: boolean;
37
42
  }): Locator;
38
- /** Return a child Locator matching a descendant by placeholder text, scoped within this locator's first match. */
39
43
  getByPlaceholder(text: string, opts?: {
40
44
  exact?: boolean;
41
45
  }): Locator;
42
- /** Return a child Locator matching a descendant by alt text, scoped within this locator's first match. */
43
46
  getByAltText(text: string, opts?: {
44
47
  exact?: boolean;
45
48
  }): Locator;
46
- /** Return a child Locator matching a descendant by title attribute, scoped within this locator's first match. */
47
49
  getByTitle(text: string, opts?: {
48
50
  exact?: boolean;
49
51
  }): Locator;
50
- /** Return a child Locator matching a descendant by data-testid, scoped within this locator's first match. */
51
52
  getByTestId(id: string): Locator;
52
- /** Return a new Locator targeting the element at position `index` (0-based). */
53
53
  nth(index: number): Locator;
54
- /** Return a new Locator targeting the first match. */
55
54
  first(): Locator;
56
- /** Return a new Locator targeting the last match. */
57
55
  last(): Locator;
58
- /** Return a new Locator that narrows matches by text or child-locator presence. */
59
56
  filter(opts: {
60
57
  hasText?: string | RegExp;
61
58
  has?: Locator;
62
59
  }): Locator;
63
60
  private _clone;
64
- /** Resolve all raw WebElements for this.by, scoped to the parent if set. */
65
- private _findRaw;
66
- /** Apply text / has filters to the raw result set. */
67
- private _findFiltered;
68
- /** Apply index on top of the filtered result set. */
61
+ private _target;
69
62
  private _findFinal;
70
- /** Poll until a visible element is available in the final result set. */
63
+ private _selectorDetail;
71
64
  private _waitForVisible;
72
- /** Poll until any element is present in the final result set (need not be visible). */
73
65
  private _waitForAny;
74
66
  private _resolve;
75
- /** Resolve the current final match once without waiting. */
76
67
  private _resolveOnce;
77
68
  private _resolveExisting;
78
- /**
79
- * Resolve to a visible element WITHOUT applying context switching (used inside _withContext blocks).
80
- * The caller is responsible for switching context before calling this.
81
- */
82
- private _waitForVisibleOrSimple;
83
- /**
84
- * Resolve to an existing element WITHOUT applying context switching (used inside _withContext blocks).
85
- * The caller is responsible for switching context before calling this.
86
- */
87
- private _waitForAnyOrSimple;
88
69
  click(options?: ActionOptions): Promise<void>;
89
70
  fill(text: string, options?: ActionOptions): Promise<void>;
90
71
  text(options?: ActionOptions): Promise<string>;
91
- /** Alias for text(). */
92
72
  textContent(options?: ActionOptions): Promise<string>;
93
73
  isVisible(options?: ActionOptions): Promise<boolean>;
94
- /**
95
- * Returns the number of currently matching elements in the DOM (no auto-wait).
96
- * Use `waitFor` if you need to wait for a specific count.
97
- */
98
74
  count(): Promise<number>;
99
- /**
100
- * Returns snapshot `ElementHandle`s for all currently matching elements.
101
- * Each handle is bound to the element resolved at call time.
102
- */
103
75
  all(): Promise<ElementHandle[]>;
104
76
  waitFor(options: {
105
77
  state: 'attached' | 'detached' | 'visible' | 'hidden';
106
78
  timeout?: number;
107
79
  }): Promise<unknown>;
108
- /** Poll until the element is detached from DOM (`detached`) or no longer visible (`hidden`). */
109
80
  private _waitForNegativeState;
110
- /** Returns an assertion API scoped to this locator's selector. */
111
81
  expect(): ExpectApi;
112
82
  private _a11y?;
113
- /**
114
- * Accessibility audit scoped to the resolved element. Re-resolves the
115
- * locator on every audit/check call.
116
- */
117
83
  get a11y(): A11y;
118
84
  }
85
+ export type { ContextSwitcher } from './query.js';
119
86
  //# sourceMappingURL=locator.d.ts.map