@bctrl/sdk 1.0.1

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 (260) hide show
  1. package/README.md +75 -0
  2. package/dist/agents/browser-use/index.d.ts +1 -0
  3. package/dist/agents/browser-use/index.js +9 -0
  4. package/dist/agents/browser-use/namespace.d.ts +39 -0
  5. package/dist/agents/browser-use/namespace.js +93 -0
  6. package/dist/agents/index.d.ts +2 -0
  7. package/dist/agents/index.js +17 -0
  8. package/dist/agents/stagehand/core.d.ts +93 -0
  9. package/dist/agents/stagehand/core.js +144 -0
  10. package/dist/agents/stagehand/index.d.ts +3 -0
  11. package/dist/agents/stagehand/index.js +24 -0
  12. package/dist/agents/stagehand/namespace.d.ts +51 -0
  13. package/dist/agents/stagehand/namespace.js +65 -0
  14. package/dist/ai-credentials/client.d.ts +12 -0
  15. package/dist/ai-credentials/client.js +70 -0
  16. package/dist/ai-credentials/index.d.ts +1 -0
  17. package/dist/ai-credentials/index.js +1 -0
  18. package/dist/base/event-binding.d.ts +7 -0
  19. package/dist/base/event-binding.js +23 -0
  20. package/dist/base/types.d.ts +109 -0
  21. package/dist/base/types.js +4 -0
  22. package/dist/bctrl.d.ts +37 -0
  23. package/dist/bctrl.js +77 -0
  24. package/dist/browser-extensions/client.d.ts +15 -0
  25. package/dist/browser-extensions/client.js +72 -0
  26. package/dist/browser-extensions/index.d.ts +2 -0
  27. package/dist/browser-extensions/index.js +1 -0
  28. package/dist/browser-profiles/client.d.ts +11 -0
  29. package/dist/browser-profiles/client.js +63 -0
  30. package/dist/browser-profiles/index.d.ts +1 -0
  31. package/dist/browser-profiles/index.js +1 -0
  32. package/dist/captcha/index.d.ts +1 -0
  33. package/dist/captcha/index.js +1 -0
  34. package/dist/captcha/namespace.d.ts +34 -0
  35. package/dist/captcha/namespace.js +41 -0
  36. package/dist/client/index.d.ts +1 -0
  37. package/dist/client/index.js +1 -0
  38. package/dist/client/rpc.d.ts +83 -0
  39. package/dist/client/rpc.js +354 -0
  40. package/dist/config.d.ts +5 -0
  41. package/dist/config.js +28 -0
  42. package/dist/constants/browser.d.ts +2 -0
  43. package/dist/constants/browser.js +1 -0
  44. package/dist/contracts/agent-tools.d.ts +45 -0
  45. package/dist/contracts/agent-tools.js +31 -0
  46. package/dist/contracts/automation.d.ts +265 -0
  47. package/dist/contracts/automation.js +109 -0
  48. package/dist/contracts/browser-management.d.ts +179 -0
  49. package/dist/contracts/browser-management.js +95 -0
  50. package/dist/contracts/browser-use.d.ts +136 -0
  51. package/dist/contracts/browser-use.js +93 -0
  52. package/dist/contracts/captcha.d.ts +114 -0
  53. package/dist/contracts/captcha.js +40 -0
  54. package/dist/contracts/desktop.d.ts +223 -0
  55. package/dist/contracts/desktop.js +121 -0
  56. package/dist/contracts/drivers/playwright.d.ts +2008 -0
  57. package/dist/contracts/drivers/playwright.js +2033 -0
  58. package/dist/contracts/drivers/puppeteer.d.ts +1221 -0
  59. package/dist/contracts/drivers/puppeteer.js +941 -0
  60. package/dist/contracts/drivers/selenium.d.ts +156 -0
  61. package/dist/contracts/drivers/selenium.js +61 -0
  62. package/dist/contracts/drivers/stagehand.d.ts +155 -0
  63. package/dist/contracts/drivers/stagehand.js +7 -0
  64. package/dist/contracts/extensions.d.ts +13 -0
  65. package/dist/contracts/extensions.js +9 -0
  66. package/dist/contracts/index.d.ts +13 -0
  67. package/dist/contracts/index.js +13 -0
  68. package/dist/contracts/public-api.d.ts +360 -0
  69. package/dist/contracts/public-api.js +17 -0
  70. package/dist/contracts/runtime.d.ts +81 -0
  71. package/dist/contracts/runtime.js +16 -0
  72. package/dist/contracts/stagehand.d.ts +253 -0
  73. package/dist/contracts/stagehand.js +145 -0
  74. package/dist/contracts/storage.d.ts +51 -0
  75. package/dist/contracts/storage.js +56 -0
  76. package/dist/contracts/vault.d.ts +119 -0
  77. package/dist/contracts/vault.js +112 -0
  78. package/dist/contracts/version.d.ts +3 -0
  79. package/dist/contracts/version.js +16 -0
  80. package/dist/desktop.d.ts +2 -0
  81. package/dist/desktop.js +3 -0
  82. package/dist/drivers/desktop/index.d.ts +65 -0
  83. package/dist/drivers/desktop/index.js +68 -0
  84. package/dist/drivers/desktop/session.d.ts +313 -0
  85. package/dist/drivers/desktop/session.js +432 -0
  86. package/dist/drivers/playwright/event-emitter.d.ts +160 -0
  87. package/dist/drivers/playwright/event-emitter.js +297 -0
  88. package/dist/drivers/playwright/generated/api-request-context.d.ts +137 -0
  89. package/dist/drivers/playwright/generated/api-request-context.js +154 -0
  90. package/dist/drivers/playwright/generated/api-response.d.ts +119 -0
  91. package/dist/drivers/playwright/generated/api-response.js +123 -0
  92. package/dist/drivers/playwright/generated/browser-context.d.ts +284 -0
  93. package/dist/drivers/playwright/generated/browser-context.js +458 -0
  94. package/dist/drivers/playwright/generated/browser.d.ts +120 -0
  95. package/dist/drivers/playwright/generated/browser.js +151 -0
  96. package/dist/drivers/playwright/generated/clock.d.ts +80 -0
  97. package/dist/drivers/playwright/generated/clock.js +94 -0
  98. package/dist/drivers/playwright/generated/console-message.d.ts +94 -0
  99. package/dist/drivers/playwright/generated/console-message.js +89 -0
  100. package/dist/drivers/playwright/generated/coverage.d.ts +57 -0
  101. package/dist/drivers/playwright/generated/coverage.js +66 -0
  102. package/dist/drivers/playwright/generated/dialog.d.ts +79 -0
  103. package/dist/drivers/playwright/generated/dialog.js +80 -0
  104. package/dist/drivers/playwright/generated/element-handle.d.ts +399 -0
  105. package/dist/drivers/playwright/generated/element-handle.js +501 -0
  106. package/dist/drivers/playwright/generated/frame-locator.d.ts +34 -0
  107. package/dist/drivers/playwright/generated/frame-locator.js +63 -0
  108. package/dist/drivers/playwright/generated/frame.d.ts +557 -0
  109. package/dist/drivers/playwright/generated/frame.js +634 -0
  110. package/dist/drivers/playwright/generated/js-handle.d.ts +72 -0
  111. package/dist/drivers/playwright/generated/js-handle.js +92 -0
  112. package/dist/drivers/playwright/generated/keyboard.d.ts +103 -0
  113. package/dist/drivers/playwright/generated/keyboard.js +113 -0
  114. package/dist/drivers/playwright/generated/locator.d.ts +795 -0
  115. package/dist/drivers/playwright/generated/locator.js +974 -0
  116. package/dist/drivers/playwright/generated/mouse.d.ts +97 -0
  117. package/dist/drivers/playwright/generated/mouse.js +109 -0
  118. package/dist/drivers/playwright/generated/page.d.ts +762 -0
  119. package/dist/drivers/playwright/generated/page.js +988 -0
  120. package/dist/drivers/playwright/generated/touchscreen.d.ts +34 -0
  121. package/dist/drivers/playwright/generated/touchscreen.js +37 -0
  122. package/dist/drivers/playwright/generated/tracing.d.ts +78 -0
  123. package/dist/drivers/playwright/generated/tracing.js +80 -0
  124. package/dist/drivers/playwright/generated/worker.d.ts +53 -0
  125. package/dist/drivers/playwright/generated/worker.js +59 -0
  126. package/dist/drivers/playwright/index.d.ts +19 -0
  127. package/dist/drivers/playwright/index.js +20 -0
  128. package/dist/drivers/playwright/remote-base.d.ts +62 -0
  129. package/dist/drivers/playwright/remote-base.js +86 -0
  130. package/dist/drivers/playwright/types.d.ts +148 -0
  131. package/dist/drivers/playwright/types.js +8 -0
  132. package/dist/drivers/puppeteer/errors.d.ts +50 -0
  133. package/dist/drivers/puppeteer/errors.js +71 -0
  134. package/dist/drivers/puppeteer/event-emitter.d.ts +145 -0
  135. package/dist/drivers/puppeteer/event-emitter.js +259 -0
  136. package/dist/drivers/puppeteer/generated/accessibility.d.ts +77 -0
  137. package/dist/drivers/puppeteer/generated/accessibility.js +74 -0
  138. package/dist/drivers/puppeteer/generated/browser-context.d.ts +116 -0
  139. package/dist/drivers/puppeteer/generated/browser-context.js +168 -0
  140. package/dist/drivers/puppeteer/generated/browser.d.ts +169 -0
  141. package/dist/drivers/puppeteer/generated/browser.js +246 -0
  142. package/dist/drivers/puppeteer/generated/console-message.d.ts +54 -0
  143. package/dist/drivers/puppeteer/generated/console-message.js +69 -0
  144. package/dist/drivers/puppeteer/generated/coverage.d.ts +49 -0
  145. package/dist/drivers/puppeteer/generated/coverage.js +57 -0
  146. package/dist/drivers/puppeteer/generated/dialog.d.ts +46 -0
  147. package/dist/drivers/puppeteer/generated/dialog.js +60 -0
  148. package/dist/drivers/puppeteer/generated/element-handle.d.ts +261 -0
  149. package/dist/drivers/puppeteer/generated/element-handle.js +341 -0
  150. package/dist/drivers/puppeteer/generated/file-chooser.d.ts +34 -0
  151. package/dist/drivers/puppeteer/generated/file-chooser.js +43 -0
  152. package/dist/drivers/puppeteer/generated/frame.d.ts +221 -0
  153. package/dist/drivers/puppeteer/generated/frame.js +302 -0
  154. package/dist/drivers/puppeteer/generated/http-request.d.ts +195 -0
  155. package/dist/drivers/puppeteer/generated/http-request.js +243 -0
  156. package/dist/drivers/puppeteer/generated/http-response.d.ts +142 -0
  157. package/dist/drivers/puppeteer/generated/http-response.js +169 -0
  158. package/dist/drivers/puppeteer/generated/js-handle.d.ts +104 -0
  159. package/dist/drivers/puppeteer/generated/js-handle.js +125 -0
  160. package/dist/drivers/puppeteer/generated/keyboard.d.ts +79 -0
  161. package/dist/drivers/puppeteer/generated/keyboard.js +89 -0
  162. package/dist/drivers/puppeteer/generated/locator.d.ts +141 -0
  163. package/dist/drivers/puppeteer/generated/locator.js +164 -0
  164. package/dist/drivers/puppeteer/generated/mouse.d.ts +74 -0
  165. package/dist/drivers/puppeteer/generated/mouse.js +94 -0
  166. package/dist/drivers/puppeteer/generated/page.d.ts +604 -0
  167. package/dist/drivers/puppeteer/generated/page.js +776 -0
  168. package/dist/drivers/puppeteer/generated/target.d.ts +105 -0
  169. package/dist/drivers/puppeteer/generated/target.js +123 -0
  170. package/dist/drivers/puppeteer/generated/touchscreen.d.ts +87 -0
  171. package/dist/drivers/puppeteer/generated/touchscreen.js +103 -0
  172. package/dist/drivers/puppeteer/generated/tracing.d.ts +38 -0
  173. package/dist/drivers/puppeteer/generated/tracing.js +43 -0
  174. package/dist/drivers/puppeteer/generated/web-worker.d.ts +63 -0
  175. package/dist/drivers/puppeteer/generated/web-worker.js +73 -0
  176. package/dist/drivers/puppeteer/index.d.ts +21 -0
  177. package/dist/drivers/puppeteer/index.js +23 -0
  178. package/dist/drivers/puppeteer/remote-base.d.ts +57 -0
  179. package/dist/drivers/puppeteer/remote-base.js +79 -0
  180. package/dist/drivers/puppeteer/types.d.ts +178 -0
  181. package/dist/drivers/puppeteer/types.js +8 -0
  182. package/dist/drivers/selenium/driver.d.ts +28 -0
  183. package/dist/drivers/selenium/driver.js +169 -0
  184. package/dist/drivers/selenium/element.d.ts +34 -0
  185. package/dist/drivers/selenium/element.js +73 -0
  186. package/dist/drivers/selenium/index.d.ts +3 -0
  187. package/dist/drivers/selenium/index.js +5 -0
  188. package/dist/drivers/selenium/types.d.ts +2 -0
  189. package/dist/drivers/selenium/types.js +12 -0
  190. package/dist/drivers/stagehand/generated/context.d.ts +127 -0
  191. package/dist/drivers/stagehand/generated/context.js +153 -0
  192. package/dist/drivers/stagehand/generated/locator.d.ts +324 -0
  193. package/dist/drivers/stagehand/generated/locator.js +368 -0
  194. package/dist/drivers/stagehand/generated/page.d.ts +377 -0
  195. package/dist/drivers/stagehand/generated/page.js +439 -0
  196. package/dist/drivers/stagehand/generated/response.d.ts +197 -0
  197. package/dist/drivers/stagehand/generated/response.js +232 -0
  198. package/dist/drivers/stagehand/index.d.ts +5 -0
  199. package/dist/drivers/stagehand/index.js +8 -0
  200. package/dist/drivers/stagehand/types.d.ts +1 -0
  201. package/dist/drivers/stagehand/types.js +7 -0
  202. package/dist/errors.d.ts +47 -0
  203. package/dist/errors.js +157 -0
  204. package/dist/extensions/client.d.ts +47 -0
  205. package/dist/extensions/client.js +154 -0
  206. package/dist/extensions/index.d.ts +1 -0
  207. package/dist/extensions/index.js +1 -0
  208. package/dist/index.d.ts +12 -0
  209. package/dist/index.js +23 -0
  210. package/dist/internal/dev-client.d.ts +5 -0
  211. package/dist/internal/dev-client.js +9 -0
  212. package/dist/internal/rpc-targets.d.ts +17 -0
  213. package/dist/internal/rpc-targets.js +58 -0
  214. package/dist/internal/serialization.d.ts +32 -0
  215. package/dist/internal/serialization.js +42 -0
  216. package/dist/internal/transport.d.ts +24 -0
  217. package/dist/internal/transport.js +29 -0
  218. package/dist/playwright.d.ts +1 -0
  219. package/dist/playwright.js +2 -0
  220. package/dist/puppeteer.d.ts +1 -0
  221. package/dist/puppeteer.js +2 -0
  222. package/dist/selenium.d.ts +1 -0
  223. package/dist/selenium.js +2 -0
  224. package/dist/stagehand.d.ts +1 -0
  225. package/dist/stagehand.js +2 -0
  226. package/dist/storage/client.d.ts +151 -0
  227. package/dist/storage/client.js +329 -0
  228. package/dist/storage/index.d.ts +2 -0
  229. package/dist/storage/index.js +4 -0
  230. package/dist/telemetry.d.ts +18 -0
  231. package/dist/telemetry.js +93 -0
  232. package/dist/updates/client.d.ts +8 -0
  233. package/dist/updates/client.js +128 -0
  234. package/dist/updates/index.d.ts +1 -0
  235. package/dist/updates/index.js +1 -0
  236. package/dist/utils/http.d.ts +39 -0
  237. package/dist/utils/http.js +88 -0
  238. package/dist/utils/index.d.ts +4 -0
  239. package/dist/utils/index.js +4 -0
  240. package/dist/utils/logger.d.ts +27 -0
  241. package/dist/utils/logger.js +74 -0
  242. package/dist/utils/schema.d.ts +17 -0
  243. package/dist/utils/schema.js +31 -0
  244. package/dist/utils/url.d.ts +5 -0
  245. package/dist/utils/url.js +7 -0
  246. package/dist/vault/client.d.ts +43 -0
  247. package/dist/vault/client.js +123 -0
  248. package/dist/vault/index.d.ts +1 -0
  249. package/dist/vault/index.js +1 -0
  250. package/dist/version.d.ts +1 -0
  251. package/dist/version.js +4 -0
  252. package/dist/workspaces/browser-runtime.d.ts +251 -0
  253. package/dist/workspaces/browser-runtime.js +1025 -0
  254. package/dist/workspaces/client.d.ts +48 -0
  255. package/dist/workspaces/client.js +222 -0
  256. package/dist/workspaces/index.d.ts +2 -0
  257. package/dist/workspaces/index.js +2 -0
  258. package/dist/workspaces/runtime-event-pump.d.ts +65 -0
  259. package/dist/workspaces/runtime-event-pump.js +716 -0
  260. package/package.json +56 -0
@@ -0,0 +1,988 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/playwright/methods/
5
+ * Run `pnpm generate:playwright` to regenerate.
6
+ */
7
+ import { serializeFunctionSource, } from '../../../internal/transport.js';
8
+ import { PlaywrightEventEmitter } from '../event-emitter.js';
9
+ import { RemotePlaywrightKeyboard } from './keyboard.js';
10
+ import { RemotePlaywrightMouse } from './mouse.js';
11
+ import { RemotePlaywrightTouchscreen } from './touchscreen.js';
12
+ import { RemotePlaywrightClock } from './clock.js';
13
+ import { RemotePlaywrightCoverage } from './coverage.js';
14
+ import { RemotePlaywrightAPIRequestContext } from './api-request-context.js';
15
+ /**
16
+ * RemotePlaywrightPage - Remote Playwright Page API over RPC.
17
+ *
18
+ * @see https://playwright.dev/docs/api/class-page
19
+ */
20
+ export class RemotePlaywrightPage extends PlaywrightEventEmitter {
21
+ keyboard;
22
+ mouse;
23
+ touchscreen;
24
+ clock;
25
+ coverage;
26
+ request;
27
+ createElementHandle;
28
+ createFrame;
29
+ createLocator;
30
+ createJSHandle;
31
+ sendRpc;
32
+ _id;
33
+ constructor(sendRpc, id, createElementHandle, createFrame, createLocator, createJSHandle) {
34
+ super();
35
+ this.sendRpc = sendRpc;
36
+ this._id = id;
37
+ this.createElementHandle = createElementHandle;
38
+ this.createFrame = createFrame;
39
+ this.createLocator = createLocator;
40
+ this.createJSHandle = createJSHandle;
41
+ this.keyboard = new RemotePlaywrightKeyboard(this.rpc.bind(this));
42
+ this.mouse = new RemotePlaywrightMouse(this.rpc.bind(this));
43
+ this.touchscreen = new RemotePlaywrightTouchscreen(this.rpc.bind(this));
44
+ this.clock = new RemotePlaywrightClock(this.rpc.bind(this), id);
45
+ this.coverage = new RemotePlaywrightCoverage(this.rpc.bind(this), id);
46
+ this.request = new RemotePlaywrightAPIRequestContext(this.rpc.bind(this));
47
+ }
48
+ _isClosed = false;
49
+ _defaultTimeout = 30000;
50
+ _defaultNavigationTimeout = 30000;
51
+ _viewportSize = null;
52
+ /**
53
+ * Get the page ID.
54
+ */
55
+ get id() {
56
+ return this._id;
57
+ }
58
+ /**
59
+ * Mark this page as closed (internal use).
60
+ */
61
+ markClosed() {
62
+ this._isClosed = true;
63
+ }
64
+ rpc(method, args) {
65
+ if (this._isClosed) {
66
+ throw new Error('Page is closed');
67
+ }
68
+ return this.sendRpc(method, args);
69
+ }
70
+ /**
71
+ * Check if the page is closed.
72
+ * @see https://playwright.dev/docs/api/class-page#page-is-closed
73
+ */
74
+ isClosed() {
75
+ return this._isClosed;
76
+ }
77
+ /**
78
+ * Get the viewport size.
79
+ * @see https://playwright.dev/docs/api/class-page#page-viewport-size
80
+ */
81
+ viewportSize() {
82
+ return this._viewportSize;
83
+ }
84
+ /**
85
+ * Set the viewport size.
86
+ * @see https://playwright.dev/docs/api/class-page#page-set-viewport-size
87
+ */
88
+ async setViewportSize(viewportSize) {
89
+ await this.rpc('setViewportSize', [viewportSize]);
90
+ this._viewportSize = viewportSize;
91
+ }
92
+ /**
93
+ * Set the default navigation timeout.
94
+ * @see https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout
95
+ */
96
+ async setDefaultNavigationTimeout(timeout) {
97
+ await this.sendRpc('setDefaultNavigationTimeout', [timeout]);
98
+ this._defaultNavigationTimeout = timeout;
99
+ }
100
+ /**
101
+ * Set the default timeout.
102
+ * @see https://playwright.dev/docs/api/class-page#page-set-default-timeout
103
+ */
104
+ async setDefaultTimeout(timeout) {
105
+ await this.sendRpc('setDefaultTimeout', [timeout]);
106
+ this._defaultTimeout = timeout;
107
+ }
108
+ /**
109
+ * Create a locator for the given selector.
110
+ * @see https://playwright.dev/docs/api/class-page#page-locator
111
+ */
112
+ locator(selector, options) {
113
+ return this.createLocator(selector);
114
+ }
115
+ /**
116
+ * Locate elements by their ARIA role.
117
+ * @see https://playwright.dev/docs/api/class-page#page-get-by-role
118
+ */
119
+ getByRole(role, options) {
120
+ // Construct selector from role and options
121
+ const selector = `role=${role}`;
122
+ return this.createLocator(selector);
123
+ }
124
+ /**
125
+ * Locate elements containing the given text.
126
+ * @see https://playwright.dev/docs/api/class-page#page-get-by-text
127
+ */
128
+ getByText(text, options) {
129
+ const textStr = text instanceof RegExp ? text.source : text;
130
+ const selector = `text=${textStr}`;
131
+ return this.createLocator(selector);
132
+ }
133
+ /**
134
+ * Locate form controls by their associated label.
135
+ * @see https://playwright.dev/docs/api/class-page#page-get-by-label
136
+ */
137
+ getByLabel(text, options) {
138
+ const textStr = text instanceof RegExp ? text.source : text;
139
+ const selector = `label=${textStr}`;
140
+ return this.createLocator(selector);
141
+ }
142
+ /**
143
+ * Locate input elements by placeholder text.
144
+ * @see https://playwright.dev/docs/api/class-page#page-get-by-placeholder
145
+ */
146
+ getByPlaceholder(text, options) {
147
+ const textStr = text instanceof RegExp ? text.source : text;
148
+ const selector = `[placeholder="${textStr}"]`;
149
+ return this.createLocator(selector);
150
+ }
151
+ /**
152
+ * Locate elements by alt text.
153
+ * @see https://playwright.dev/docs/api/class-page#page-get-by-alt-text
154
+ */
155
+ getByAltText(text, options) {
156
+ const textStr = text instanceof RegExp ? text.source : text;
157
+ const selector = `[alt="${textStr}"]`;
158
+ return this.createLocator(selector);
159
+ }
160
+ /**
161
+ * Locate elements by title attribute.
162
+ * @see https://playwright.dev/docs/api/class-page#page-get-by-title
163
+ */
164
+ getByTitle(text, options) {
165
+ const textStr = text instanceof RegExp ? text.source : text;
166
+ const selector = `[title="${textStr}"]`;
167
+ return this.createLocator(selector);
168
+ }
169
+ /**
170
+ * Locate elements by data-testid attribute.
171
+ * @see https://playwright.dev/docs/api/class-page#page-get-by-test-id
172
+ */
173
+ getByTestId(testId) {
174
+ const testIdStr = testId instanceof RegExp ? testId.source : testId;
175
+ const selector = `[data-testid="${testIdStr}"]`;
176
+ return this.createLocator(selector);
177
+ }
178
+ /**
179
+ * Create a frame locator.
180
+ * @see https://playwright.dev/docs/api/class-page#page-frame-locator
181
+ */
182
+ frameLocator(selector) {
183
+ // Frame locators need special handling
184
+ return this.createLocator(`frame=${selector}`);
185
+ }
186
+ /**
187
+ * Get the browser context.
188
+ * @see https://playwright.dev/docs/api/class-page#page-context
189
+ */
190
+ context() {
191
+ // Would need BrowserContext type
192
+ throw new Error('context() not yet implemented in remote SDK');
193
+ }
194
+ /**
195
+ * Get the video object.
196
+ * @see https://playwright.dev/docs/api/class-page#page-video
197
+ */
198
+ video() {
199
+ // Video recording needs special handling
200
+ return null;
201
+ }
202
+ /**
203
+ * Get all web workers in the page.
204
+ * @see https://playwright.dev/docs/api/class-page#page-workers
205
+ */
206
+ workers() {
207
+ // Workers require state tracking on the server side
208
+ // For now, return empty array - full implementation would track workers via events
209
+ return [];
210
+ }
211
+ // ==========================================================================
212
+ // Locator Handlers
213
+ // ==========================================================================
214
+ /**
215
+ * Registers a handler that will be called when the specified locator becomes visible.
216
+ * @see https://playwright.dev/docs/api/class-page#page-add-locator-handler
217
+ */
218
+ async addLocatorHandler(locator, handler, options) {
219
+ // Handler functions can't be serialized over RPC
220
+ // The server needs to track the locator and call back when it appears
221
+ await this.rpc('addLocatorHandler', [locator._chain, serializeFunctionSource(handler), options]);
222
+ }
223
+ /**
224
+ * Removes a previously added locator handler.
225
+ * @see https://playwright.dev/docs/api/class-page#page-remove-locator-handler
226
+ */
227
+ async removeLocatorHandler(locator) {
228
+ await this.rpc('removeLocatorHandler', [locator._chain]);
229
+ }
230
+ // ==========================================================================
231
+ // Console and Errors
232
+ // ==========================================================================
233
+ /**
234
+ * Returns all console messages captured during the page lifecycle.
235
+ * @see https://playwright.dev/docs/api/class-consolemessage
236
+ */
237
+ async consoleMessages() {
238
+ return this.rpc('consoleMessages', []);
239
+ }
240
+ /**
241
+ * Returns all page errors (uncaught exceptions) captured during the page lifecycle.
242
+ * @see https://playwright.dev/docs/api/class-page#page-event-page-error
243
+ */
244
+ async pageErrors() {
245
+ const errors = await this.rpc('pageErrors', []);
246
+ return errors.map(e => {
247
+ const err = new Error(e.message);
248
+ if (e.name)
249
+ err.name = e.name;
250
+ if (e.stack)
251
+ err.stack = e.stack;
252
+ return err;
253
+ });
254
+ }
255
+ // ==========================================================================
256
+ // Request Tracking
257
+ // ==========================================================================
258
+ /**
259
+ * Returns all requests made by the page since the last navigation.
260
+ * @see https://playwright.dev/docs/api/class-request
261
+ */
262
+ async requests() {
263
+ return this.rpc('requests', []);
264
+ }
265
+ // ==========================================================================
266
+ // HAR Routing
267
+ // ==========================================================================
268
+ /**
269
+ * Serves network requests from a HAR (HTTP Archive) file.
270
+ * @see https://playwright.dev/docs/api/class-page#page-route-from-har
271
+ */
272
+ async routeFromHAR(har, options) {
273
+ await this.rpc('routeFromHAR', [har, options]);
274
+ }
275
+ // ==========================================================================
276
+ // WebSocket Routing
277
+ // ==========================================================================
278
+ /**
279
+ * Route WebSocket connections matching the URL pattern.
280
+ * @see https://playwright.dev/docs/api/class-page#page-route-web-socket
281
+ */
282
+ async routeWebSocket(url, handler) {
283
+ // URL patterns need special handling for RPC
284
+ const urlPattern = url instanceof RegExp ? url.source : typeof url === 'function' ? serializeFunctionSource(url) : url;
285
+ await this.rpc('routeWebSocket', [urlPattern, serializeFunctionSource(handler)]);
286
+ }
287
+ /**
288
+ * Navigate to a URL.
289
+ * @returns The main resource response, or null if navigating to about:blank.
290
+ *
291
+ * @see https://playwright.dev/docs/api/class-page#page-goto
292
+ */
293
+ async goto(url, options) {
294
+ return this.rpc('goto', [url, options]);
295
+ }
296
+ /**
297
+ * Reload the page.
298
+ *
299
+ * @see https://playwright.dev/docs/api/class-page#page-reload
300
+ */
301
+ async reload(options) {
302
+ return this.rpc('reload', [options]);
303
+ }
304
+ /**
305
+ * Navigate back in history.
306
+ *
307
+ * @see https://playwright.dev/docs/api/class-page#page-go-back
308
+ */
309
+ async goBack(options) {
310
+ return this.rpc('goBack', [options]);
311
+ }
312
+ /**
313
+ * Navigate forward in history.
314
+ *
315
+ * @see https://playwright.dev/docs/api/class-page#page-go-forward
316
+ */
317
+ async goForward(options) {
318
+ return this.rpc('goForward', [options]);
319
+ }
320
+ /**
321
+ * Wait for the main frame to navigate to the given URL.
322
+ *
323
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-url
324
+ */
325
+ async waitForURL(url, options) {
326
+ await this.rpc('waitForURL', [url, options]);
327
+ }
328
+ /**
329
+ * Wait for the required load state to be reached.
330
+ *
331
+ * @remarks
332
+ * State can be 'load', 'domcontentloaded', or 'networkidle'.
333
+ *
334
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-load-state
335
+ */
336
+ async waitForLoadState(state, options) {
337
+ await this.rpc('waitForLoadState', [state, options]);
338
+ }
339
+ /**
340
+ * Wait for the main frame navigation and return the main resource response.
341
+ *
342
+ * @remarks
343
+ * Deprecated: This method is inherently racy. Use page.waitForURL() instead.
344
+ *
345
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-navigation
346
+ */
347
+ async waitForNavigation(options) {
348
+ return this.rpc('waitForNavigation', [options]);
349
+ }
350
+ /**
351
+ * Get the page title.
352
+ *
353
+ * @see https://playwright.dev/docs/api/class-page#page-title
354
+ */
355
+ async title() {
356
+ return this.rpc('title', []);
357
+ }
358
+ /**
359
+ * Get the current URL.
360
+ *
361
+ * @see https://playwright.dev/docs/api/class-page#page-url
362
+ */
363
+ async url() {
364
+ return this.rpc('url', []);
365
+ }
366
+ /**
367
+ * Get the full HTML content of the page.
368
+ *
369
+ * @see https://playwright.dev/docs/api/class-page#page-content
370
+ */
371
+ async content() {
372
+ return this.rpc('content', []);
373
+ }
374
+ /**
375
+ * Set the HTML content of the page.
376
+ *
377
+ * @see https://playwright.dev/docs/api/class-page#page-set-content
378
+ */
379
+ async setContent(html, options) {
380
+ await this.rpc('setContent', [html, options]);
381
+ }
382
+ /**
383
+ * Click on an element matching the selector.
384
+ *
385
+ * @remarks
386
+ * Deprecated: Use locator.click() instead.
387
+ *
388
+ * @see https://playwright.dev/docs/api/class-page#page-click
389
+ */
390
+ async click(selector, options) {
391
+ await this.rpc('click', [selector, options]);
392
+ }
393
+ /**
394
+ * Double-click on an element matching the selector.
395
+ *
396
+ * @remarks
397
+ * Deprecated: Use locator.dblclick() instead.
398
+ *
399
+ * @see https://playwright.dev/docs/api/class-page#page-dblclick
400
+ */
401
+ async dblclick(selector, options) {
402
+ await this.rpc('dblclick', [selector, options]);
403
+ }
404
+ /**
405
+ * Fill an input element with the given value.
406
+ *
407
+ * @remarks
408
+ * Deprecated: Use locator.fill() instead.
409
+ *
410
+ * @see https://playwright.dev/docs/api/class-page#page-fill
411
+ */
412
+ async fill(selector, value, options) {
413
+ await this.rpc('fill', [selector, value, options]);
414
+ }
415
+ /**
416
+ * Type text into an element (sends keydown, keypress/input, keyup events for each character).
417
+ *
418
+ * @remarks
419
+ * Deprecated: Use locator.pressSequentially() instead.
420
+ *
421
+ * @see https://playwright.dev/docs/api/class-page#page-type
422
+ */
423
+ async type(selector, text, options) {
424
+ await this.rpc('type', [selector, text, options]);
425
+ }
426
+ /**
427
+ * Focus an element and press a key combination.
428
+ *
429
+ * @remarks
430
+ * Deprecated: Use locator.press() instead.
431
+ *
432
+ * @see https://playwright.dev/docs/api/class-page#page-press
433
+ */
434
+ async press(selector, key, options) {
435
+ await this.rpc('press', [selector, key, options]);
436
+ }
437
+ /**
438
+ * Hover over an element.
439
+ *
440
+ * @remarks
441
+ * Deprecated: Use locator.hover() instead.
442
+ *
443
+ * @see https://playwright.dev/docs/api/class-page#page-hover
444
+ */
445
+ async hover(selector, options) {
446
+ await this.rpc('hover', [selector, options]);
447
+ }
448
+ /**
449
+ * Focus on an element.
450
+ *
451
+ * @remarks
452
+ * Deprecated: Use locator.focus() instead.
453
+ *
454
+ * @see https://playwright.dev/docs/api/class-page#page-focus
455
+ */
456
+ async focus(selector, options) {
457
+ await this.rpc('focus', [selector, options]);
458
+ }
459
+ /**
460
+ * Tap on an element (for touch devices).
461
+ *
462
+ * @remarks
463
+ * Deprecated: Use locator.tap() instead.
464
+ *
465
+ * @see https://playwright.dev/docs/api/class-page#page-tap
466
+ */
467
+ async tap(selector, options) {
468
+ await this.rpc('tap', [selector, options]);
469
+ }
470
+ /**
471
+ * Check a checkbox or radio button.
472
+ *
473
+ * @remarks
474
+ * Deprecated: Use locator.check() instead.
475
+ *
476
+ * @see https://playwright.dev/docs/api/class-page#page-check
477
+ */
478
+ async check(selector, options) {
479
+ await this.rpc('check', [selector, options]);
480
+ }
481
+ /**
482
+ * Uncheck a checkbox.
483
+ *
484
+ * @remarks
485
+ * Deprecated: Use locator.uncheck() instead.
486
+ *
487
+ * @see https://playwright.dev/docs/api/class-page#page-uncheck
488
+ */
489
+ async uncheck(selector, options) {
490
+ await this.rpc('uncheck', [selector, options]);
491
+ }
492
+ /**
493
+ * Set the checked state of a checkbox.
494
+ *
495
+ * @remarks
496
+ * Deprecated: Use locator.setChecked() instead.
497
+ *
498
+ * @see https://playwright.dev/docs/api/class-page#page-set-checked
499
+ */
500
+ async setChecked(selector, checked, options) {
501
+ await this.rpc('setChecked', [selector, checked, options]);
502
+ }
503
+ /**
504
+ * Select one or more options in a <select> element.
505
+ *
506
+ * @remarks
507
+ * Deprecated: Use locator.selectOption() instead.
508
+ *
509
+ * @see https://playwright.dev/docs/api/class-page#page-select-option
510
+ */
511
+ async selectOption(selector, values, options) {
512
+ return this.rpc('selectOption', [selector, values, options]);
513
+ }
514
+ /**
515
+ * Set input files for a file input element.
516
+ *
517
+ * @remarks
518
+ * Deprecated: Use locator.setInputFiles() instead.
519
+ *
520
+ * @see https://playwright.dev/docs/api/class-page#page-set-input-files
521
+ */
522
+ async setInputFiles(selector, files, options) {
523
+ await this.rpc('setInputFiles', [selector, files, options]);
524
+ }
525
+ /**
526
+ * Dispatch a DOM event on an element.
527
+ *
528
+ * @remarks
529
+ * Deprecated: Use locator.dispatchEvent() instead.
530
+ *
531
+ * @see https://playwright.dev/docs/api/class-page#page-dispatch-event
532
+ */
533
+ async dispatchEvent(selector, type, eventInit, options) {
534
+ await this.rpc('dispatchEvent', [selector, type, eventInit, options]);
535
+ }
536
+ /**
537
+ * Drag an element to another element.
538
+ *
539
+ * @see https://playwright.dev/docs/api/class-page#page-drag-and-drop
540
+ */
541
+ async dragAndDrop(source, target, options) {
542
+ await this.rpc('dragAndDrop', [source, target, options]);
543
+ }
544
+ /**
545
+ * Wait for a selector to appear in the DOM.
546
+ *
547
+ * @remarks
548
+ * Deprecated: Use locator-based methods or web assertions instead.
549
+ *
550
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-selector
551
+ */
552
+ async waitForSelector(selector, options) {
553
+ const result = await this.rpc('waitForSelector', [selector, options]);
554
+ if (!result)
555
+ return null;
556
+ return this.createElementHandle(result.id);
557
+ }
558
+ /**
559
+ * Wait for the specified timeout.
560
+ *
561
+ * @remarks
562
+ * Discouraged: Use time-based assertions or auto-waiting instead.
563
+ *
564
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-timeout
565
+ */
566
+ async waitForTimeout(timeout) {
567
+ await this.rpc('waitForTimeout', [timeout]);
568
+ }
569
+ /**
570
+ * Wait for a function to return a truthy value.
571
+ *
572
+ * @remarks
573
+ * Note: Returns a serialized handle reference. Full JSHandle support not yet available.
574
+ *
575
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-function
576
+ */
577
+ async waitForFunction(pageFunction, arg, options) {
578
+ const _pageFunction = serializeFunctionSource(pageFunction);
579
+ return this.rpc('waitForFunction', [_pageFunction, arg, options]);
580
+ }
581
+ /**
582
+ * Wait for a specific event to fire.
583
+ *
584
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-event
585
+ */
586
+ async waitForEvent(event, optionsOrPredicate) {
587
+ return this.rpc('waitForEvent', [event, optionsOrPredicate]);
588
+ }
589
+ /**
590
+ * Wait for a specific request.
591
+ *
592
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-request
593
+ */
594
+ async waitForRequest(urlOrPredicate, options) {
595
+ return this.rpc('waitForRequest', [urlOrPredicate, options]);
596
+ }
597
+ /**
598
+ * Wait for a specific response.
599
+ *
600
+ * @see https://playwright.dev/docs/api/class-page#page-wait-for-response
601
+ */
602
+ async waitForResponse(urlOrPredicate, options) {
603
+ return this.rpc('waitForResponse', [urlOrPredicate, options]);
604
+ }
605
+ /**
606
+ * Evaluate JavaScript in the page context.
607
+ *
608
+ * @see https://playwright.dev/docs/api/class-page#page-evaluate
609
+ */
610
+ async evaluate(pageFunction, arg) {
611
+ const _pageFunction = serializeFunctionSource(pageFunction);
612
+ return this.rpc('evaluate', [_pageFunction, arg]);
613
+ }
614
+ /**
615
+ * Evaluate JavaScript and return a handle to the result.
616
+ *
617
+ * @see https://playwright.dev/docs/api/class-page#page-evaluate-handle
618
+ */
619
+ async evaluateHandle(pageFunction, arg) {
620
+ const _pageFunction = serializeFunctionSource(pageFunction);
621
+ const result = await this.rpc('evaluateHandle', [_pageFunction, arg]);
622
+ return this.createJSHandle(result.id);
623
+ }
624
+ /**
625
+ * Query for a single element. Alias for page.querySelector().
626
+ *
627
+ * @remarks
628
+ * Deprecated: Use locator() instead.
629
+ *
630
+ * @see https://playwright.dev/docs/api/class-page#page-query-selector
631
+ */
632
+ async $(selector) {
633
+ const result = await this.rpc('$', [selector]);
634
+ if (!result)
635
+ return null;
636
+ return this.createElementHandle(result.id);
637
+ }
638
+ /**
639
+ * Query for all matching elements. Alias for page.querySelectorAll().
640
+ *
641
+ * @remarks
642
+ * Deprecated: Use locator() instead.
643
+ *
644
+ * @see https://playwright.dev/docs/api/class-page#page-query-selector-all
645
+ */
646
+ async $$(selector) {
647
+ const results = await this.rpc('$$', [selector]);
648
+ return results.map((r) => this.createElementHandle(r.id));
649
+ }
650
+ /**
651
+ * Query for a single element.
652
+ *
653
+ * @remarks
654
+ * Deprecated: Use locator() instead.
655
+ *
656
+ * @see https://playwright.dev/docs/api/class-page#page-query-selector
657
+ */
658
+ async querySelector(selector) {
659
+ const result = await this.rpc('querySelector', [selector]);
660
+ if (!result)
661
+ return null;
662
+ return this.createElementHandle(result.id);
663
+ }
664
+ /**
665
+ * Query for all matching elements.
666
+ *
667
+ * @remarks
668
+ * Deprecated: Use locator() instead.
669
+ *
670
+ * @see https://playwright.dev/docs/api/class-page#page-query-selector-all
671
+ */
672
+ async querySelectorAll(selector) {
673
+ const results = await this.rpc('querySelectorAll', [selector]);
674
+ return results.map((r) => this.createElementHandle(r.id));
675
+ }
676
+ /**
677
+ * Find an element matching the selector and evaluate a function on it.
678
+ *
679
+ * @remarks
680
+ * Deprecated: This method does not wait for the element to pass actionability checks. Use locator.evaluate() instead.
681
+ *
682
+ * @see https://playwright.dev/docs/api/class-page#page-eval-on-selector
683
+ */
684
+ async $eval(selector, pageFunction, arg) {
685
+ const _pageFunction = serializeFunctionSource(pageFunction);
686
+ return this.rpc('$eval', [selector, _pageFunction, arg]);
687
+ }
688
+ /**
689
+ * Find all elements matching the selector and evaluate a function on the array of elements.
690
+ *
691
+ * @remarks
692
+ * Deprecated: This method does not wait for elements to pass actionability checks. Use locator.evaluateAll() instead.
693
+ *
694
+ * @see https://playwright.dev/docs/api/class-page#page-eval-on-selector-all
695
+ */
696
+ async $$eval(selector, pageFunction, arg) {
697
+ const _pageFunction = serializeFunctionSource(pageFunction);
698
+ return this.rpc('$$eval', [selector, _pageFunction, arg]);
699
+ }
700
+ /**
701
+ * Take a screenshot of the page.
702
+ *
703
+ * @see https://playwright.dev/docs/api/class-page#page-screenshot
704
+ */
705
+ async screenshot(options) {
706
+ const result = await this.rpc('screenshot', [options]);
707
+ return Buffer.from(result, 'base64');
708
+ }
709
+ /**
710
+ * Generate a PDF of the page (Chromium only).
711
+ *
712
+ * @see https://playwright.dev/docs/api/class-page#page-pdf
713
+ */
714
+ async pdf(options) {
715
+ const result = await this.rpc('pdf', [options]);
716
+ return Buffer.from(result, 'base64');
717
+ }
718
+ /**
719
+ * Emulate media type, color scheme, etc.
720
+ *
721
+ * @see https://playwright.dev/docs/api/class-page#page-emulate-media
722
+ */
723
+ async emulateMedia(options) {
724
+ await this.rpc('emulateMedia', [options]);
725
+ }
726
+ /**
727
+ * Get the main frame.
728
+ *
729
+ * @see https://playwright.dev/docs/api/class-page#page-main-frame
730
+ */
731
+ async mainFrame() {
732
+ const result = await this.rpc('mainFrame', []);
733
+ return this.createFrame(result.id);
734
+ }
735
+ /**
736
+ * Get all frames attached to the page.
737
+ *
738
+ * @see https://playwright.dev/docs/api/class-page#page-frames
739
+ */
740
+ async frames() {
741
+ const results = await this.rpc('frames', []);
742
+ return results.map((r) => this.createFrame(r.id));
743
+ }
744
+ /**
745
+ * Get a frame by name or URL.
746
+ *
747
+ * @see https://playwright.dev/docs/api/class-page#page-frame
748
+ */
749
+ async frame(frameSelector) {
750
+ const result = await this.rpc('frame', [frameSelector]);
751
+ if (!result)
752
+ return null;
753
+ return this.createFrame(result.id);
754
+ }
755
+ /**
756
+ * Route requests matching the URL pattern.
757
+ *
758
+ * @see https://playwright.dev/docs/api/class-page#page-route
759
+ */
760
+ async route(url, handler, options) {
761
+ await this.rpc('route', [url, handler, options]);
762
+ }
763
+ /**
764
+ * Remove a route.
765
+ *
766
+ * @see https://playwright.dev/docs/api/class-page#page-unroute
767
+ */
768
+ async unroute(url, handler) {
769
+ await this.rpc('unroute', [url, handler]);
770
+ }
771
+ /**
772
+ * Remove all routes.
773
+ *
774
+ * @see https://playwright.dev/docs/api/class-page#page-unroute-all
775
+ */
776
+ async unrouteAll(options) {
777
+ await this.rpc('unrouteAll', [options]);
778
+ }
779
+ /**
780
+ * Set extra HTTP headers for all requests.
781
+ *
782
+ * @see https://playwright.dev/docs/api/class-page#page-set-extra-http-headers
783
+ */
784
+ async setExtraHTTPHeaders(headers) {
785
+ await this.rpc('setExtraHTTPHeaders', [headers]);
786
+ }
787
+ /**
788
+ * Close the page.
789
+ *
790
+ * @see https://playwright.dev/docs/api/class-page#page-close
791
+ */
792
+ async close(options) {
793
+ await this.rpc('close', [options]);
794
+ this.markClosed();
795
+ }
796
+ /**
797
+ * Bring page to front (activate tab).
798
+ *
799
+ * @see https://playwright.dev/docs/api/class-page#page-bring-to-front
800
+ */
801
+ async bringToFront() {
802
+ await this.rpc('bringToFront', []);
803
+ }
804
+ /**
805
+ * Add a script to evaluate before page scripts run.
806
+ *
807
+ * @see https://playwright.dev/docs/api/class-page#page-add-init-script
808
+ */
809
+ async addInitScript(script, arg) {
810
+ const _script = serializeFunctionSource(script);
811
+ await this.rpc('addInitScript', [_script, arg]);
812
+ }
813
+ /**
814
+ * Add a <script> tag to the page.
815
+ *
816
+ * @see https://playwright.dev/docs/api/class-page#page-add-script-tag
817
+ */
818
+ async addScriptTag(options) {
819
+ const result = await this.rpc('addScriptTag', [options]);
820
+ return this.createElementHandle(result.id);
821
+ }
822
+ /**
823
+ * Add a <style> tag to the page.
824
+ *
825
+ * @see https://playwright.dev/docs/api/class-page#page-add-style-tag
826
+ */
827
+ async addStyleTag(options) {
828
+ const result = await this.rpc('addStyleTag', [options]);
829
+ return this.createElementHandle(result.id);
830
+ }
831
+ /**
832
+ * Expose a binding to the page (with source info).
833
+ *
834
+ * @see https://playwright.dev/docs/api/class-page#page-expose-binding
835
+ */
836
+ async exposeBinding(name, callback, options) {
837
+ const _callback = serializeFunctionSource(callback);
838
+ await this.rpc('exposeBinding', [name, _callback, options]);
839
+ }
840
+ /**
841
+ * Check if an element is visible.
842
+ *
843
+ * @remarks
844
+ * Deprecated: Use locator.isVisible() instead.
845
+ *
846
+ * @see https://playwright.dev/docs/api/class-page#page-is-visible
847
+ */
848
+ async isVisible(selector, options) {
849
+ return this.rpc('isVisible', [selector, options]);
850
+ }
851
+ /**
852
+ * Check if an element is hidden.
853
+ *
854
+ * @remarks
855
+ * Deprecated: Use locator.isHidden() instead.
856
+ *
857
+ * @see https://playwright.dev/docs/api/class-page#page-is-hidden
858
+ */
859
+ async isHidden(selector, options) {
860
+ return this.rpc('isHidden', [selector, options]);
861
+ }
862
+ /**
863
+ * Check if an element is enabled.
864
+ *
865
+ * @remarks
866
+ * Deprecated: Use locator.isEnabled() instead.
867
+ *
868
+ * @see https://playwright.dev/docs/api/class-page#page-is-enabled
869
+ */
870
+ async isEnabled(selector, options) {
871
+ return this.rpc('isEnabled', [selector, options]);
872
+ }
873
+ /**
874
+ * Check if an element is disabled.
875
+ *
876
+ * @remarks
877
+ * Deprecated: Use locator.isDisabled() instead.
878
+ *
879
+ * @see https://playwright.dev/docs/api/class-page#page-is-disabled
880
+ */
881
+ async isDisabled(selector, options) {
882
+ return this.rpc('isDisabled', [selector, options]);
883
+ }
884
+ /**
885
+ * Check if an element is editable.
886
+ *
887
+ * @remarks
888
+ * Deprecated: Use locator.isEditable() instead.
889
+ *
890
+ * @see https://playwright.dev/docs/api/class-page#page-is-editable
891
+ */
892
+ async isEditable(selector, options) {
893
+ return this.rpc('isEditable', [selector, options]);
894
+ }
895
+ /**
896
+ * Check if a checkbox is checked.
897
+ *
898
+ * @remarks
899
+ * Deprecated: Use locator.isChecked() instead.
900
+ *
901
+ * @see https://playwright.dev/docs/api/class-page#page-is-checked
902
+ */
903
+ async isChecked(selector, options) {
904
+ return this.rpc('isChecked', [selector, options]);
905
+ }
906
+ /**
907
+ * Get an attribute value from an element.
908
+ *
909
+ * @remarks
910
+ * Deprecated: Use locator.getAttribute() instead.
911
+ *
912
+ * @see https://playwright.dev/docs/api/class-page#page-get-attribute
913
+ */
914
+ async getAttribute(selector, name, options) {
915
+ return this.rpc('getAttribute', [selector, name, options]);
916
+ }
917
+ /**
918
+ * Get the text content of an element.
919
+ *
920
+ * @remarks
921
+ * Deprecated: Use locator.textContent() instead.
922
+ *
923
+ * @see https://playwright.dev/docs/api/class-page#page-text-content
924
+ */
925
+ async textContent(selector, options) {
926
+ return this.rpc('textContent', [selector, options]);
927
+ }
928
+ /**
929
+ * Get the inner text of an element.
930
+ *
931
+ * @remarks
932
+ * Deprecated: Use locator.innerText() instead.
933
+ *
934
+ * @see https://playwright.dev/docs/api/class-page#page-inner-text
935
+ */
936
+ async innerText(selector, options) {
937
+ return this.rpc('innerText', [selector, options]);
938
+ }
939
+ /**
940
+ * Get the inner HTML of an element.
941
+ *
942
+ * @remarks
943
+ * Deprecated: Use locator.innerHTML() instead.
944
+ *
945
+ * @see https://playwright.dev/docs/api/class-page#page-inner-html
946
+ */
947
+ async innerHTML(selector, options) {
948
+ return this.rpc('innerHTML', [selector, options]);
949
+ }
950
+ /**
951
+ * Get the input value of an element.
952
+ *
953
+ * @remarks
954
+ * Deprecated: Use locator.inputValue() instead.
955
+ *
956
+ * @see https://playwright.dev/docs/api/class-page#page-input-value
957
+ */
958
+ async inputValue(selector, options) {
959
+ return this.rpc('inputValue', [selector, options]);
960
+ }
961
+ /**
962
+ * Pause script execution (for debugging).
963
+ *
964
+ * @see https://playwright.dev/docs/api/class-page#page-pause
965
+ */
966
+ async pause() {
967
+ await this.rpc('pause', []);
968
+ }
969
+ /**
970
+ * Get the page that opened this page (via window.open).
971
+ *
972
+ * @see https://playwright.dev/docs/api/class-page#page-opener
973
+ */
974
+ async opener() {
975
+ return this.rpc('opener', []);
976
+ }
977
+ /**
978
+ * Request garbage collection in the page context.
979
+ *
980
+ * @remarks
981
+ * Note: This method is only available in Chromium-based browsers.
982
+ *
983
+ * @see https://playwright.dev/docs/api/class-page#page-request-gc
984
+ */
985
+ async requestGC() {
986
+ await this.rpc('requestGC', []);
987
+ }
988
+ }