Commit c670e49
feat: improve MultipleElementsFound error and add strict mode to all helpers
Add strict mode support to Puppeteer and WebDriver helpers (previously only
Playwright). When `strict: true`, single-element operations (click, fillField,
etc.) throw MultipleElementsFound if more than one element matches.
Refactor MultipleElementsFound to use WebElement[] with async fetchDetails()
that shows absolute XPath and minified outerHTML for each matched element.
Add toAbsoluteXPath() and toOuterHTML() to WebElement class. Auto-call
fetchDetails() in CLI error display.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 0c0a519 commit c670e49
File tree
7 files changed
+198
-123
lines changed- lib
- element
- helper
- errors
- mocha
- test/helper
7 files changed
+198
-123
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
309 | 355 | | |
310 | 356 | | |
311 | 357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1763 | 1763 | | |
1764 | 1764 | | |
1765 | 1765 | | |
1766 | | - | |
| 1766 | + | |
1767 | 1767 | | |
1768 | 1768 | | |
1769 | 1769 | | |
| |||
1779 | 1779 | | |
1780 | 1780 | | |
1781 | 1781 | | |
1782 | | - | |
| 1782 | + | |
1783 | 1783 | | |
1784 | 1784 | | |
1785 | 1785 | | |
| |||
2266 | 2266 | | |
2267 | 2267 | | |
2268 | 2268 | | |
2269 | | - | |
| 2269 | + | |
2270 | 2270 | | |
2271 | 2271 | | |
2272 | 2272 | | |
| |||
2285 | 2285 | | |
2286 | 2286 | | |
2287 | 2287 | | |
2288 | | - | |
| 2288 | + | |
2289 | 2289 | | |
2290 | 2290 | | |
2291 | 2291 | | |
| |||
2302 | 2302 | | |
2303 | 2303 | | |
2304 | 2304 | | |
2305 | | - | |
| 2305 | + | |
2306 | 2306 | | |
2307 | 2307 | | |
2308 | 2308 | | |
| |||
4300 | 4300 | | |
4301 | 4301 | | |
4302 | 4302 | | |
4303 | | - | |
| 4303 | + | |
4304 | 4304 | | |
4305 | 4305 | | |
4306 | 4306 | | |
| |||
4310 | 4310 | | |
4311 | 4311 | | |
4312 | 4312 | | |
4313 | | - | |
| 4313 | + | |
4314 | 4314 | | |
4315 | 4315 | | |
4316 | 4316 | | |
| |||
4320 | 4320 | | |
4321 | 4321 | | |
4322 | 4322 | | |
4323 | | - | |
| 4323 | + | |
4324 | 4324 | | |
4325 | 4325 | | |
4326 | 4326 | | |
| |||
4329 | 4329 | | |
4330 | 4330 | | |
4331 | 4331 | | |
4332 | | - | |
| 4332 | + | |
4333 | 4333 | | |
4334 | 4334 | | |
4335 | 4335 | | |
4336 | 4336 | | |
4337 | 4337 | | |
4338 | | - | |
| 4338 | + | |
4339 | 4339 | | |
4340 | 4340 | | |
4341 | 4341 | | |
4342 | 4342 | | |
4343 | 4343 | | |
4344 | 4344 | | |
4345 | | - | |
| 4345 | + | |
4346 | 4346 | | |
4347 | 4347 | | |
4348 | 4348 | | |
| |||
4619 | 4619 | | |
4620 | 4620 | | |
4621 | 4621 | | |
4622 | | - | |
| 4622 | + | |
4623 | 4623 | | |
4624 | | - | |
| 4624 | + | |
| 4625 | + | |
4625 | 4626 | | |
4626 | 4627 | | |
4627 | 4628 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
270 | 271 | | |
271 | 272 | | |
272 | 273 | | |
| 274 | + | |
273 | 275 | | |
274 | 276 | | |
275 | 277 | | |
| |||
988 | 990 | | |
989 | 991 | | |
990 | 992 | | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
991 | 1001 | | |
992 | 1002 | | |
993 | 1003 | | |
| |||
1005 | 1015 | | |
1006 | 1016 | | |
1007 | 1017 | | |
| 1018 | + | |
1008 | 1019 | | |
1009 | 1020 | | |
1010 | 1021 | | |
| |||
1564 | 1575 | | |
1565 | 1576 | | |
1566 | 1577 | | |
| 1578 | + | |
1567 | 1579 | | |
1568 | 1580 | | |
1569 | 1581 | | |
| |||
1594 | 1606 | | |
1595 | 1607 | | |
1596 | 1608 | | |
| 1609 | + | |
1597 | 1610 | | |
1598 | 1611 | | |
1599 | 1612 | | |
| |||
3098 | 3111 | | |
3099 | 3112 | | |
3100 | 3113 | | |
| 3114 | + | |
3101 | 3115 | | |
3102 | 3116 | | |
3103 | 3117 | | |
| |||
3425 | 3439 | | |
3426 | 3440 | | |
3427 | 3441 | | |
| 3442 | + | |
| 3443 | + | |
| 3444 | + | |
| 3445 | + | |
| 3446 | + | |
| 3447 | + | |
| 3448 | + | |
3428 | 3449 | | |
3429 | 3450 | | |
3430 | 3451 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
503 | 504 | | |
504 | 505 | | |
505 | 506 | | |
| 507 | + | |
506 | 508 | | |
507 | 509 | | |
508 | 510 | | |
| |||
1090 | 1092 | | |
1091 | 1093 | | |
1092 | 1094 | | |
| 1095 | + | |
1093 | 1096 | | |
1094 | 1097 | | |
1095 | 1098 | | |
| |||
1109 | 1112 | | |
1110 | 1113 | | |
1111 | 1114 | | |
| 1115 | + | |
1112 | 1116 | | |
1113 | 1117 | | |
1114 | 1118 | | |
| |||
1136 | 1140 | | |
1137 | 1141 | | |
1138 | 1142 | | |
| 1143 | + | |
1139 | 1144 | | |
1140 | 1145 | | |
1141 | 1146 | | |
| |||
1156 | 1161 | | |
1157 | 1162 | | |
1158 | 1163 | | |
| 1164 | + | |
1159 | 1165 | | |
1160 | 1166 | | |
1161 | 1167 | | |
| |||
1272 | 1278 | | |
1273 | 1279 | | |
1274 | 1280 | | |
| 1281 | + | |
1275 | 1282 | | |
1276 | 1283 | | |
1277 | 1284 | | |
| |||
1295 | 1302 | | |
1296 | 1303 | | |
1297 | 1304 | | |
| 1305 | + | |
1298 | 1306 | | |
1299 | 1307 | | |
1300 | 1308 | | |
| |||
1307 | 1315 | | |
1308 | 1316 | | |
1309 | 1317 | | |
| 1318 | + | |
1310 | 1319 | | |
1311 | 1320 | | |
1312 | 1321 | | |
| |||
3289 | 3298 | | |
3290 | 3299 | | |
3291 | 3300 | | |
| 3301 | + | |
| 3302 | + | |
| 3303 | + | |
| 3304 | + | |
| 3305 | + | |
| 3306 | + | |
| 3307 | + | |
3292 | 3308 | | |
3293 | 3309 | | |
3294 | 3310 | | |
| |||
0 commit comments