craftdriver 0.2.2 → 1.0.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.
- package/CHANGELOG.md +69 -0
- package/dist/lib/bidi/connection.d.ts +1 -1
- package/dist/lib/bidi/connection.d.ts.map +1 -1
- package/dist/lib/bidi/connection.js +3 -2
- package/dist/lib/bidi/connection.js.map +1 -1
- package/dist/lib/bidi/index.d.ts +40 -3
- package/dist/lib/bidi/index.d.ts.map +1 -1
- package/dist/lib/bidi/index.js +55 -18
- package/dist/lib/bidi/index.js.map +1 -1
- package/dist/lib/bidi/logs.d.ts.map +1 -1
- package/dist/lib/bidi/logs.js +7 -2
- package/dist/lib/bidi/logs.js.map +1 -1
- package/dist/lib/bidi/network.d.ts +9 -0
- package/dist/lib/bidi/network.d.ts.map +1 -1
- package/dist/lib/bidi/network.js +26 -11
- package/dist/lib/bidi/network.js.map +1 -1
- package/dist/lib/browser.d.ts +42 -4
- package/dist/lib/browser.d.ts.map +1 -1
- package/dist/lib/browser.js +137 -60
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/browserContext.d.ts +7 -2
- package/dist/lib/browserContext.d.ts.map +1 -1
- package/dist/lib/browserContext.js +15 -6
- package/dist/lib/browserContext.js.map +1 -1
- package/dist/lib/builder.d.ts +2 -1
- package/dist/lib/builder.d.ts.map +1 -1
- package/dist/lib/builder.js +35 -5
- package/dist/lib/builder.js.map +1 -1
- package/dist/lib/driver.d.ts.map +1 -1
- package/dist/lib/driver.js +21 -6
- package/dist/lib/driver.js.map +1 -1
- package/dist/lib/driverManager.d.ts +6 -0
- package/dist/lib/driverManager.d.ts.map +1 -1
- package/dist/lib/driverManager.js +97 -22
- package/dist/lib/driverManager.js.map +1 -1
- package/dist/lib/expect.d.ts.map +1 -1
- package/dist/lib/expect.js +91 -229
- package/dist/lib/expect.js.map +1 -1
- package/dist/lib/firefox.d.ts.map +1 -1
- package/dist/lib/firefox.js +2 -1
- package/dist/lib/firefox.js.map +1 -1
- package/dist/lib/frame.d.ts.map +1 -1
- package/dist/lib/frame.js +4 -3
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/http.d.ts +7 -0
- package/dist/lib/http.d.ts.map +1 -1
- package/dist/lib/http.js +37 -0
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/loadState.d.ts +23 -0
- package/dist/lib/loadState.d.ts.map +1 -0
- package/dist/lib/loadState.js +25 -0
- package/dist/lib/loadState.js.map +1 -0
- package/dist/lib/locator.d.ts.map +1 -1
- package/dist/lib/locator.js +11 -4
- package/dist/lib/locator.js.map +1 -1
- package/dist/lib/mouse.d.ts.map +1 -1
- package/dist/lib/mouse.js +2 -1
- package/dist/lib/mouse.js.map +1 -1
- package/dist/lib/page.d.ts +14 -1
- package/dist/lib/page.d.ts.map +1 -1
- package/dist/lib/page.js +41 -9
- package/dist/lib/page.js.map +1 -1
- package/dist/lib/service.d.ts +1 -0
- package/dist/lib/service.d.ts.map +1 -1
- package/dist/lib/service.js +21 -3
- package/dist/lib/service.js.map +1 -1
- package/dist/lib/timing.d.ts +104 -0
- package/dist/lib/timing.d.ts.map +1 -0
- package/dist/lib/timing.js +108 -0
- package/dist/lib/timing.js.map +1 -0
- package/dist/lib/wait.d.ts.map +1 -1
- package/dist/lib/wait.js +5 -4
- package/dist/lib/wait.js.map +1 -1
- package/docs/bidi-features.md +10 -2
- package/docs/browser-api.md +2 -1
- package/docs/browser-context.md +11 -14
- package/docs/dialogs.md +14 -3
- package/docs/driver-configuration.md +126 -8
- package/docs/emulation.md +8 -4
- package/docs/error-codes.md +8 -3
- package/docs/keyboard-mouse.md +20 -7
- package/docs/session-management.md +1 -1
- package/package.json +4 -1
- package/skills/craftdriver/SKILL.md +3 -2
package/docs/keyboard-mouse.md
CHANGED
|
@@ -98,22 +98,35 @@ await browser.keyboard.press('Backspace');
|
|
|
98
98
|
|
|
99
99
|
## Mouse
|
|
100
100
|
|
|
101
|
-
Access the mouse API via `browser.mouse`.
|
|
101
|
+
Access the mouse API via `browser.mouse`. `click()`, `move()`, and
|
|
102
|
+
`dragAndDrop()` all accept a `Target`: a CSS selector string, a `By`
|
|
103
|
+
locator, or `{ x, y }` coordinates.
|
|
102
104
|
|
|
103
|
-
### click(
|
|
105
|
+
### click(target, options?)
|
|
104
106
|
|
|
105
|
-
Click at
|
|
107
|
+
Click at coordinates or on an element.
|
|
106
108
|
|
|
107
109
|
```typescript
|
|
108
|
-
await browser.mouse.click(100, 200);
|
|
110
|
+
await browser.mouse.click({ x: 100, y: 200 });
|
|
111
|
+
await browser.mouse.click('#submit');
|
|
112
|
+
await browser.mouse.click('#submit', { button: 'right', clickCount: 2 });
|
|
109
113
|
```
|
|
110
114
|
|
|
111
|
-
###
|
|
115
|
+
### dblclick(target, options?)
|
|
112
116
|
|
|
113
|
-
|
|
117
|
+
Double-click at coordinates or on an element (shorthand for `click(target, { clickCount: 2 })`).
|
|
114
118
|
|
|
115
119
|
```typescript
|
|
116
|
-
await browser.mouse.
|
|
120
|
+
await browser.mouse.dblclick('#item');
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### move(target, options?)
|
|
124
|
+
|
|
125
|
+
Move the mouse to coordinates or over an element.
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
await browser.mouse.move({ x: 150, y: 300 });
|
|
129
|
+
await browser.mouse.move('#target');
|
|
117
130
|
```
|
|
118
131
|
|
|
119
132
|
### down()
|
|
@@ -213,7 +213,7 @@ async function testLoginPersistence() {
|
|
|
213
213
|
| `includeCookies` | `boolean` | `true` | Include cookies in saved state |
|
|
214
214
|
| `includeLocalStorage` | `boolean` | `true` | Include localStorage |
|
|
215
215
|
| `includeSessionStorage` | `boolean` | `false` | Include sessionStorage |
|
|
216
|
-
| `origins` | `string[]` | all |
|
|
216
|
+
| `origins` | `string[]` | all | Filter localStorage/sessionStorage capture by origin. Capture is always scoped to the page's *current* origin — this only decides whether that one origin is included, it does not collect storage from other origins the page hasn't visited. Cookies are unaffected by this option. |
|
|
217
217
|
|
|
218
218
|
### SessionStateManager (browser.storage)
|
|
219
219
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "craftdriver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Modern WebDriver automation library for NodeJS",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
"test:firefox": "BROWSER_NAME=firefox HEADLESS=true vitest run --maxWorkers=2",
|
|
18
18
|
"test:chrome": "BROWSER_NAME=chrome vitest run",
|
|
19
19
|
"test:chromium": "BROWSER_NAME=chromium vitest run",
|
|
20
|
+
"bench": "HEADLESS=true vitest run --config vitest.perf.config.ts",
|
|
21
|
+
"bench:realapp": "HEADLESS=true vitest run --config vitest.perf.realapp.config.ts",
|
|
20
22
|
"clean": "rimraf dist",
|
|
21
23
|
"serve": "http-server ./examples -a 127.0.0.1 -p 8080 -c-1 --cors",
|
|
22
24
|
"examples:start": "npm run serve",
|
|
@@ -87,6 +89,7 @@
|
|
|
87
89
|
"overrides": {
|
|
88
90
|
"brace-expansion": "5.0.6",
|
|
89
91
|
"ip-address": "10.1.1",
|
|
92
|
+
"npm": "^11.18.0",
|
|
90
93
|
"undici": "7.28.0"
|
|
91
94
|
}
|
|
92
95
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# craftdriver — SKILL
|
|
2
2
|
|
|
3
|
-
Modern
|
|
4
|
-
|
|
3
|
+
Modern WebDriver library for Node.js — picks the fastest correct protocol
|
|
4
|
+
(Classic or BiDi) per command. Playwright ergonomics, WebDriver
|
|
5
|
+
standards-compliance, no AI in the hot path.
|
|
5
6
|
|
|
6
7
|
## Core loop
|
|
7
8
|
|