@monoes/monobrowse 1.0.25 → 1.0.27
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.
- package/dist/src/__tests__/browser-launch.test.d.ts +3 -2
- package/dist/src/__tests__/browser-launch.test.d.ts.map +1 -1
- package/dist/src/__tests__/browser-launch.test.js +71 -6
- package/dist/src/__tests__/browser-launch.test.js.map +1 -1
- package/dist/src/__tests__/launch-close-settle.test.d.ts +6 -0
- package/dist/src/__tests__/launch-close-settle.test.d.ts.map +1 -1
- package/dist/src/__tests__/launch-close-settle.test.js +29 -8
- package/dist/src/__tests__/launch-close-settle.test.js.map +1 -1
- package/dist/src/browser/actions-eval.d.ts +8 -0
- package/dist/src/browser/actions-eval.d.ts.map +1 -0
- package/dist/src/browser/actions-eval.js +72 -0
- package/dist/src/browser/actions-eval.js.map +1 -0
- package/dist/src/browser/actions-form.d.ts +10 -0
- package/dist/src/browser/actions-form.d.ts.map +1 -0
- package/dist/src/browser/actions-form.js +133 -0
- package/dist/src/browser/actions-form.js.map +1 -0
- package/dist/src/browser/actions-keyboard.d.ts +7 -0
- package/dist/src/browser/actions-keyboard.d.ts.map +1 -0
- package/dist/src/browser/actions-keyboard.js +131 -0
- package/dist/src/browser/actions-keyboard.js.map +1 -0
- package/dist/src/browser/actions-mouse.d.ts +11 -0
- package/dist/src/browser/actions-mouse.d.ts.map +1 -0
- package/dist/src/browser/actions-mouse.js +105 -0
- package/dist/src/browser/actions-mouse.js.map +1 -0
- package/dist/src/browser/actions.d.ts +12 -28
- package/dist/src/browser/actions.d.ts.map +1 -1
- package/dist/src/browser/actions.js +12 -434
- package/dist/src/browser/actions.js.map +1 -1
- package/dist/src/browser/browser-discovery.d.ts +26 -0
- package/dist/src/browser/browser-discovery.d.ts.map +1 -0
- package/dist/src/browser/browser-discovery.js +113 -0
- package/dist/src/browser/browser-discovery.js.map +1 -0
- package/dist/src/browser/browser-launch.d.ts +3 -0
- package/dist/src/browser/browser-launch.d.ts.map +1 -0
- package/dist/src/browser/browser-launch.js +324 -0
- package/dist/src/browser/browser-launch.js.map +1 -0
- package/dist/src/browser/browser-lifecycle.d.ts +52 -0
- package/dist/src/browser/browser-lifecycle.d.ts.map +1 -0
- package/dist/src/browser/browser-lifecycle.js +233 -0
- package/dist/src/browser/browser-lifecycle.js.map +1 -0
- package/dist/src/browser/browser-page.d.ts +13 -0
- package/dist/src/browser/browser-page.d.ts.map +1 -0
- package/dist/src/browser/browser-page.js +179 -0
- package/dist/src/browser/browser-page.js.map +1 -0
- package/dist/src/browser/browser-state.d.ts +7 -0
- package/dist/src/browser/browser-state.d.ts.map +1 -0
- package/dist/src/browser/browser-state.js +19 -0
- package/dist/src/browser/browser-state.js.map +1 -0
- package/dist/src/browser/browser.d.ts +5 -68
- package/dist/src/browser/browser.d.ts.map +1 -1
- package/dist/src/browser/browser.js +9 -794
- package/dist/src/browser/browser.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/__tests__/browser-launch.test.ts +78 -6
- package/src/__tests__/launch-close-settle.test.ts +32 -10
- package/src/browser/actions-eval.ts +118 -0
- package/src/browser/actions-form.ts +218 -0
- package/src/browser/actions-keyboard.ts +171 -0
- package/src/browser/actions-mouse.ts +212 -0
- package/src/browser/actions.ts +37 -712
- package/src/browser/browser-discovery.ts +116 -0
- package/src/browser/browser-launch.ts +358 -0
- package/src/browser/browser-lifecycle.ts +238 -0
- package/src/browser/browser-page.ts +213 -0
- package/src/browser/browser-state.ts +21 -0
- package/src/browser/browser.ts +17 -859
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
export async function typeText(client, sessionId, text) {
|
|
2
|
+
// Cap to 100 KB to prevent OOM in CDP message serializer
|
|
3
|
+
const safeText = text.length > 102_400 ? text.slice(0, 102_400) : text;
|
|
4
|
+
await client.send('Input.insertText', { text: safeText }, sessionId);
|
|
5
|
+
}
|
|
6
|
+
export async function pressKeyCombo(client, sessionId, key, modifiers) {
|
|
7
|
+
const { text: _text, ...keyInfo } = resolveKey(key);
|
|
8
|
+
// rawKeyDown prevents Chrome from inserting the character text; only the shortcut fires
|
|
9
|
+
await client.send('Input.dispatchKeyEvent', { type: 'rawKeyDown', ...keyInfo, modifiers }, sessionId);
|
|
10
|
+
await client.send('Input.dispatchKeyEvent', { type: 'keyUp', ...keyInfo, modifiers }, sessionId);
|
|
11
|
+
}
|
|
12
|
+
export async function pressKey(client, sessionId, key) {
|
|
13
|
+
const { text, ...keyInfo } = resolveKey(key);
|
|
14
|
+
// rawKeyDown does not insert text; the explicit char event handles insertion
|
|
15
|
+
await client.send('Input.dispatchKeyEvent', {
|
|
16
|
+
type: 'rawKeyDown',
|
|
17
|
+
...keyInfo,
|
|
18
|
+
}, sessionId);
|
|
19
|
+
if (text) {
|
|
20
|
+
await client.send('Input.dispatchKeyEvent', {
|
|
21
|
+
type: 'char',
|
|
22
|
+
text,
|
|
23
|
+
}, sessionId);
|
|
24
|
+
}
|
|
25
|
+
await client.send('Input.dispatchKeyEvent', {
|
|
26
|
+
type: 'keyUp',
|
|
27
|
+
...keyInfo,
|
|
28
|
+
}, sessionId);
|
|
29
|
+
}
|
|
30
|
+
function resolveKey(key) {
|
|
31
|
+
const keyMap = {
|
|
32
|
+
Enter: { key: 'Enter', code: 'Enter', text: '\r', windowsVirtualKeyCode: 13 },
|
|
33
|
+
Tab: { key: 'Tab', code: 'Tab', windowsVirtualKeyCode: 9 },
|
|
34
|
+
Escape: { key: 'Escape', code: 'Escape', windowsVirtualKeyCode: 27 },
|
|
35
|
+
Backspace: { key: 'Backspace', code: 'Backspace', windowsVirtualKeyCode: 8 },
|
|
36
|
+
Delete: { key: 'Delete', code: 'Delete', windowsVirtualKeyCode: 46 },
|
|
37
|
+
ArrowUp: { key: 'ArrowUp', code: 'ArrowUp', windowsVirtualKeyCode: 38 },
|
|
38
|
+
ArrowDown: { key: 'ArrowDown', code: 'ArrowDown', windowsVirtualKeyCode: 40 },
|
|
39
|
+
ArrowLeft: { key: 'ArrowLeft', code: 'ArrowLeft', windowsVirtualKeyCode: 37 },
|
|
40
|
+
ArrowRight: { key: 'ArrowRight', code: 'ArrowRight', windowsVirtualKeyCode: 39 },
|
|
41
|
+
Home: { key: 'Home', code: 'Home', windowsVirtualKeyCode: 36 },
|
|
42
|
+
End: { key: 'End', code: 'End', windowsVirtualKeyCode: 35 },
|
|
43
|
+
PageUp: { key: 'PageUp', code: 'PageUp', windowsVirtualKeyCode: 33 },
|
|
44
|
+
PageDown: { key: 'PageDown', code: 'PageDown', windowsVirtualKeyCode: 34 },
|
|
45
|
+
Space: { key: ' ', code: 'Space', text: ' ', windowsVirtualKeyCode: 32 },
|
|
46
|
+
' ': { key: ' ', code: 'Space', text: ' ', windowsVirtualKeyCode: 32 },
|
|
47
|
+
Shift: { key: 'Shift', code: 'ShiftLeft', windowsVirtualKeyCode: 16 },
|
|
48
|
+
Control: { key: 'Control', code: 'ControlLeft', windowsVirtualKeyCode: 17 },
|
|
49
|
+
Alt: { key: 'Alt', code: 'AltLeft', windowsVirtualKeyCode: 18 },
|
|
50
|
+
Meta: { key: 'Meta', code: 'MetaLeft', windowsVirtualKeyCode: 91 },
|
|
51
|
+
F1: { key: 'F1', code: 'F1', windowsVirtualKeyCode: 112 },
|
|
52
|
+
F2: { key: 'F2', code: 'F2', windowsVirtualKeyCode: 113 },
|
|
53
|
+
F3: { key: 'F3', code: 'F3', windowsVirtualKeyCode: 114 },
|
|
54
|
+
F4: { key: 'F4', code: 'F4', windowsVirtualKeyCode: 115 },
|
|
55
|
+
F5: { key: 'F5', code: 'F5', windowsVirtualKeyCode: 116 },
|
|
56
|
+
F6: { key: 'F6', code: 'F6', windowsVirtualKeyCode: 117 },
|
|
57
|
+
F7: { key: 'F7', code: 'F7', windowsVirtualKeyCode: 118 },
|
|
58
|
+
F8: { key: 'F8', code: 'F8', windowsVirtualKeyCode: 119 },
|
|
59
|
+
F9: { key: 'F9', code: 'F9', windowsVirtualKeyCode: 120 },
|
|
60
|
+
F10: { key: 'F10', code: 'F10', windowsVirtualKeyCode: 121 },
|
|
61
|
+
F11: { key: 'F11', code: 'F11', windowsVirtualKeyCode: 122 },
|
|
62
|
+
F12: { key: 'F12', code: 'F12', windowsVirtualKeyCode: 123 },
|
|
63
|
+
};
|
|
64
|
+
if (keyMap[key])
|
|
65
|
+
return keyMap[key];
|
|
66
|
+
// Single printable character — windowsVirtualKeyCode required for rawKeyDown shortcut dispatch
|
|
67
|
+
if (key.length === 1) {
|
|
68
|
+
const charCode = key.charCodeAt(0);
|
|
69
|
+
if (charCode >= 48 && charCode <= 57) {
|
|
70
|
+
return { key, code: `Digit${key}`, text: key, windowsVirtualKeyCode: charCode };
|
|
71
|
+
}
|
|
72
|
+
if ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122)) {
|
|
73
|
+
return {
|
|
74
|
+
key,
|
|
75
|
+
code: `Key${key.toUpperCase()}`,
|
|
76
|
+
text: key,
|
|
77
|
+
windowsVirtualKeyCode: key.toUpperCase().charCodeAt(0),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Symbol keys: map to the physical key's code and Windows virtual key code
|
|
81
|
+
const symbolMap = {
|
|
82
|
+
'!': { code: 'Digit1', windowsVirtualKeyCode: 49 },
|
|
83
|
+
'@': { code: 'Digit2', windowsVirtualKeyCode: 50 },
|
|
84
|
+
'#': { code: 'Digit3', windowsVirtualKeyCode: 51 },
|
|
85
|
+
$: { code: 'Digit4', windowsVirtualKeyCode: 52 },
|
|
86
|
+
'%': { code: 'Digit5', windowsVirtualKeyCode: 53 },
|
|
87
|
+
'^': { code: 'Digit6', windowsVirtualKeyCode: 54 },
|
|
88
|
+
'&': { code: 'Digit7', windowsVirtualKeyCode: 55 },
|
|
89
|
+
'*': { code: 'Digit8', windowsVirtualKeyCode: 56 },
|
|
90
|
+
'(': { code: 'Digit9', windowsVirtualKeyCode: 57 },
|
|
91
|
+
')': { code: 'Digit0', windowsVirtualKeyCode: 48 },
|
|
92
|
+
'-': { code: 'Minus', windowsVirtualKeyCode: 189 },
|
|
93
|
+
_: { code: 'Minus', windowsVirtualKeyCode: 189 },
|
|
94
|
+
'=': { code: 'Equal', windowsVirtualKeyCode: 187 },
|
|
95
|
+
'+': { code: 'Equal', windowsVirtualKeyCode: 187 },
|
|
96
|
+
'[': { code: 'BracketLeft', windowsVirtualKeyCode: 219 },
|
|
97
|
+
'{': { code: 'BracketLeft', windowsVirtualKeyCode: 219 },
|
|
98
|
+
']': { code: 'BracketRight', windowsVirtualKeyCode: 221 },
|
|
99
|
+
'}': { code: 'BracketRight', windowsVirtualKeyCode: 221 },
|
|
100
|
+
'\\': { code: 'Backslash', windowsVirtualKeyCode: 220 },
|
|
101
|
+
'|': { code: 'Backslash', windowsVirtualKeyCode: 220 },
|
|
102
|
+
';': { code: 'Semicolon', windowsVirtualKeyCode: 186 },
|
|
103
|
+
':': { code: 'Semicolon', windowsVirtualKeyCode: 186 },
|
|
104
|
+
"'": { code: 'Quote', windowsVirtualKeyCode: 222 },
|
|
105
|
+
'"': { code: 'Quote', windowsVirtualKeyCode: 222 },
|
|
106
|
+
'`': { code: 'Backquote', windowsVirtualKeyCode: 192 },
|
|
107
|
+
'~': { code: 'Backquote', windowsVirtualKeyCode: 192 },
|
|
108
|
+
',': { code: 'Comma', windowsVirtualKeyCode: 188 },
|
|
109
|
+
'<': { code: 'Comma', windowsVirtualKeyCode: 188 },
|
|
110
|
+
'.': { code: 'Period', windowsVirtualKeyCode: 190 },
|
|
111
|
+
'>': { code: 'Period', windowsVirtualKeyCode: 190 },
|
|
112
|
+
'/': { code: 'Slash', windowsVirtualKeyCode: 191 },
|
|
113
|
+
'?': { code: 'Slash', windowsVirtualKeyCode: 191 },
|
|
114
|
+
};
|
|
115
|
+
const sym = symbolMap[key];
|
|
116
|
+
if (sym)
|
|
117
|
+
return { key, code: sym.code, text: key, windowsVirtualKeyCode: sym.windowsVirtualKeyCode };
|
|
118
|
+
// Unknown/non-ASCII character — omit code since no valid DOM KeyboardEvent.code exists
|
|
119
|
+
return { key, code: '', text: key };
|
|
120
|
+
}
|
|
121
|
+
return { key, code: key };
|
|
122
|
+
}
|
|
123
|
+
export async function keyDown(client, sessionId, key) {
|
|
124
|
+
const { text: _text, ...keyInfo } = resolveKey(key);
|
|
125
|
+
await client.send('Input.dispatchKeyEvent', { type: 'rawKeyDown', ...keyInfo }, sessionId);
|
|
126
|
+
}
|
|
127
|
+
export async function keyUp(client, sessionId, key) {
|
|
128
|
+
const { text: _text, ...keyInfo } = resolveKey(key);
|
|
129
|
+
await client.send('Input.dispatchKeyEvent', { type: 'keyUp', ...keyInfo }, sessionId);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=actions-keyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions-keyboard.js","sourceRoot":"","sources":["../../../src/browser/actions-keyboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CdpClient } from './cdp.js';
|
|
2
|
+
import type { ClickOptions, ElementRef } from './types.js';
|
|
3
|
+
export declare function clickPoint(client: CdpClient, sessionId: string, x: number, y: number, options?: ClickOptions): Promise<void>;
|
|
4
|
+
export declare function scrollElement(client: CdpClient, sessionId: string, direction: 'up' | 'down' | 'left' | 'right', amount?: number, ref?: ElementRef): Promise<void>;
|
|
5
|
+
export declare function hoverElement(client: CdpClient, sessionId: string, ref: ElementRef): Promise<void>;
|
|
6
|
+
export declare function mouseMove(client: CdpClient, sessionId: string, x: number, y: number): Promise<void>;
|
|
7
|
+
export declare function mouseDown(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
|
|
8
|
+
export declare function mouseUp(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
|
|
9
|
+
export declare function mouseWheel(client: CdpClient, sessionId: string, x: number, y: number, deltaY: number, deltaX?: number): Promise<void>;
|
|
10
|
+
export declare function dragAndDrop(client: CdpClient, sessionId: string, src: ElementRef, tgt: ElementRef): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=actions-mouse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions-mouse.d.ts","sourceRoot":"","sources":["../../../src/browser/actions-mouse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAC3C,MAAM,SAAM,EACZ,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC3C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC3C,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,MAAM,SAAI,GACT,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,IAAI,CAAC,CAiCf"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { getElementBox } from './snapshot.js';
|
|
2
|
+
export async function clickPoint(client, sessionId, x, y, options = {}) {
|
|
3
|
+
const button = options.button ?? 'left';
|
|
4
|
+
// Cap clickCount to prevent unbounded loop DoS
|
|
5
|
+
const clickCount = Math.min(Math.max(1, Math.floor(options.clickCount ?? 1)), 100);
|
|
6
|
+
const modifiers = options.modifiers ?? 0;
|
|
7
|
+
const shared = { x, y, button, modifiers };
|
|
8
|
+
const buttonsMask = button === 'right' ? 2 : button === 'middle' ? 4 : 1;
|
|
9
|
+
for (let i = 0; i < clickCount; i++) {
|
|
10
|
+
const count = i + 1;
|
|
11
|
+
await client.send('Input.dispatchMouseEvent', { ...shared, type: 'mousePressed', buttons: buttonsMask, clickCount: count }, sessionId);
|
|
12
|
+
await client.send('Input.dispatchMouseEvent', {
|
|
13
|
+
...shared,
|
|
14
|
+
type: 'mouseReleased',
|
|
15
|
+
buttons: i < clickCount - 1 ? buttonsMask : 0,
|
|
16
|
+
clickCount: count,
|
|
17
|
+
}, sessionId);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export async function scrollElement(client, sessionId, direction, amount = 300, ref) {
|
|
21
|
+
// Cap scroll amount to prevent extreme delta values
|
|
22
|
+
amount = Math.min(Math.max(1, Math.floor(amount)), 100_000);
|
|
23
|
+
let x = 0;
|
|
24
|
+
let y = 0;
|
|
25
|
+
let deltaX = 0;
|
|
26
|
+
let deltaY = 0;
|
|
27
|
+
if (ref) {
|
|
28
|
+
const box = await getElementBox(client, sessionId, ref);
|
|
29
|
+
if (!box)
|
|
30
|
+
throw new Error(`Cannot scroll: ref @${ref.ref} not found in DOM`);
|
|
31
|
+
x = box.x;
|
|
32
|
+
y = box.y;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// Center of viewport
|
|
36
|
+
const vp = await client.send('Runtime.evaluate', {
|
|
37
|
+
expression: 'JSON.stringify({w: window.innerWidth, h: window.innerHeight})',
|
|
38
|
+
returnByValue: true,
|
|
39
|
+
}, sessionId);
|
|
40
|
+
const dims = JSON.parse(vp.result?.value ?? '{"w":1280,"h":720}');
|
|
41
|
+
x = dims.w / 2;
|
|
42
|
+
y = dims.h / 2;
|
|
43
|
+
}
|
|
44
|
+
switch (direction) {
|
|
45
|
+
case 'down':
|
|
46
|
+
deltaY = amount;
|
|
47
|
+
break;
|
|
48
|
+
case 'up':
|
|
49
|
+
deltaY = -amount;
|
|
50
|
+
break;
|
|
51
|
+
case 'right':
|
|
52
|
+
deltaX = amount;
|
|
53
|
+
break;
|
|
54
|
+
case 'left':
|
|
55
|
+
deltaX = -amount;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
await client.send('Input.dispatchMouseEvent', {
|
|
59
|
+
type: 'mouseWheel',
|
|
60
|
+
x,
|
|
61
|
+
y,
|
|
62
|
+
deltaX,
|
|
63
|
+
deltaY,
|
|
64
|
+
}, sessionId);
|
|
65
|
+
}
|
|
66
|
+
export async function hoverElement(client, sessionId, ref) {
|
|
67
|
+
const box = await getElementBox(client, sessionId, ref);
|
|
68
|
+
if (!box)
|
|
69
|
+
throw new Error(`Cannot hover ref @${ref.ref}: element not found in DOM`);
|
|
70
|
+
await client.send('Input.dispatchMouseEvent', {
|
|
71
|
+
type: 'mouseMoved',
|
|
72
|
+
x: box.x,
|
|
73
|
+
y: box.y,
|
|
74
|
+
}, sessionId);
|
|
75
|
+
}
|
|
76
|
+
export async function mouseMove(client, sessionId, x, y) {
|
|
77
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x, y }, sessionId);
|
|
78
|
+
}
|
|
79
|
+
export async function mouseDown(client, sessionId, x, y, button = 'left') {
|
|
80
|
+
const buttonsMask = button === 'right' ? 2 : button === 'middle' ? 4 : 1;
|
|
81
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mousePressed', x, y, button, buttons: buttonsMask, clickCount: 1 }, sessionId);
|
|
82
|
+
}
|
|
83
|
+
export async function mouseUp(client, sessionId, x, y, button = 'left') {
|
|
84
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mouseReleased', x, y, button, buttons: 0, clickCount: 1 }, sessionId);
|
|
85
|
+
}
|
|
86
|
+
export async function mouseWheel(client, sessionId, x, y, deltaY, deltaX = 0) {
|
|
87
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mouseWheel', x, y, deltaX, deltaY }, sessionId);
|
|
88
|
+
}
|
|
89
|
+
export async function dragAndDrop(client, sessionId, src, tgt) {
|
|
90
|
+
const srcBox = await getElementBox(client, sessionId, src);
|
|
91
|
+
const tgtBox = await getElementBox(client, sessionId, tgt);
|
|
92
|
+
if (!srcBox || !tgtBox)
|
|
93
|
+
throw new Error('Cannot drag: one or both elements not found in DOM');
|
|
94
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mousePressed', x: srcBox.x, y: srcBox.y, button: 'left', buttons: 1, clickCount: 1 }, sessionId);
|
|
95
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x: srcBox.x, y: srcBox.y, button: 'left', buttons: 1 }, sessionId);
|
|
96
|
+
// Move in steps for smooth drag
|
|
97
|
+
const steps = 10;
|
|
98
|
+
for (let i = 1; i <= steps; i++) {
|
|
99
|
+
const x = srcBox.x + (tgtBox.x - srcBox.x) * (i / steps);
|
|
100
|
+
const y = srcBox.y + (tgtBox.y - srcBox.y) * (i / steps);
|
|
101
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x, y, button: 'left', buttons: 1 }, sessionId);
|
|
102
|
+
}
|
|
103
|
+
await client.send('Input.dispatchMouseEvent', { type: 'mouseReleased', x: tgtBox.x, y: tgtBox.y, button: 'left', buttons: 0, clickCount: 1 }, sessionId);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=actions-mouse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions-mouse.js","sourceRoot":"","sources":["../../../src/browser/actions-mouse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export declare function focusElement(client: CdpClient, sessionId: string, ref: ElementRef): Promise<void>;
|
|
14
|
-
export declare function typeIntoElement(client: CdpClient, sessionId: string, ref: ElementRef, text: string): Promise<void>;
|
|
15
|
-
export declare function keyDown(client: CdpClient, sessionId: string, key: string): Promise<void>;
|
|
16
|
-
export declare function keyUp(client: CdpClient, sessionId: string, key: string): Promise<void>;
|
|
17
|
-
export declare function mouseMove(client: CdpClient, sessionId: string, x: number, y: number): Promise<void>;
|
|
18
|
-
export declare function mouseDown(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
|
|
19
|
-
export declare function mouseUp(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
|
|
20
|
-
export declare function mouseWheel(client: CdpClient, sessionId: string, x: number, y: number, deltaY: number, deltaX?: number): Promise<void>;
|
|
21
|
-
export declare function dragAndDrop(client: CdpClient, sessionId: string, src: ElementRef, tgt: ElementRef): Promise<void>;
|
|
22
|
-
export declare function uploadFile(client: CdpClient, sessionId: string, ref: ElementRef, filePaths: string[]): Promise<void>;
|
|
23
|
-
export declare function readClipboard(client: CdpClient, sessionId: string): Promise<string>;
|
|
24
|
-
export declare function writeClipboard(client: CdpClient, sessionId: string, text: string): Promise<void>;
|
|
25
|
-
export declare function pushState(client: CdpClient, sessionId: string, url: string): Promise<void>;
|
|
26
|
-
export declare function addInitScript(client: CdpClient, sessionId: string, script: string): Promise<string>;
|
|
27
|
-
export declare function removeInitScript(client: CdpClient, sessionId: string, identifier: string): Promise<void>;
|
|
28
|
-
export declare function evaluateJs(client: CdpClient, sessionId: string, expression: string, timeoutMs?: number): Promise<unknown>;
|
|
1
|
+
/**
|
|
2
|
+
* Browser action helpers (click, type, scroll, drag, JS evaluation, ...).
|
|
3
|
+
*
|
|
4
|
+
* File-size sweep: split into sibling modules (actions-keyboard.ts,
|
|
5
|
+
* actions-mouse.ts, actions-form.ts, actions-eval.ts). This file remains the
|
|
6
|
+
* entry point and re-exports everything that used to live here so every
|
|
7
|
+
* existing import keeps working.
|
|
8
|
+
*/
|
|
9
|
+
export { addInitScript, evaluateJs, pushState, readClipboard, removeInitScript, writeClipboard, } from './actions-eval.js';
|
|
10
|
+
export { checkElement, clickElement, fillElement, focusElement, selectOption, typeIntoElement, uploadFile, } from './actions-form.js';
|
|
11
|
+
export { keyDown, keyUp, pressKey, pressKeyCombo, typeText } from './actions-keyboard.js';
|
|
12
|
+
export { clickPoint, dragAndDrop, hoverElement, mouseDown, mouseMove, mouseUp, mouseWheel, scrollElement, } from './actions-mouse.js';
|
|
29
13
|
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/browser/actions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/browser/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC"}
|