@godscene/web 1.7.11
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/README.md +7 -0
- package/bin/midscene-playground +3 -0
- package/bin/midscene-web +2 -0
- package/dist/es/bin.mjs +14 -0
- package/dist/es/bridge-mode/agent-cli-side.mjs +135 -0
- package/dist/es/bridge-mode/browser.mjs +2 -0
- package/dist/es/bridge-mode/common.mjs +41 -0
- package/dist/es/bridge-mode/index.mjs +4 -0
- package/dist/es/bridge-mode/io-client.mjs +99 -0
- package/dist/es/bridge-mode/io-server.mjs +218 -0
- package/dist/es/bridge-mode/page-browser-side.mjs +119 -0
- package/dist/es/cdp-proxy-constants.mjs +7 -0
- package/dist/es/cdp-proxy-manager.mjs +217 -0
- package/dist/es/cdp-proxy.mjs +151 -0
- package/dist/es/cdp-target-store.mjs +26 -0
- package/dist/es/chrome-extension/agent.mjs +8 -0
- package/dist/es/chrome-extension/cdpInput.mjs +172 -0
- package/dist/es/chrome-extension/cdpInput.mjs.LICENSE.txt +5 -0
- package/dist/es/chrome-extension/dynamic-scripts.mjs +36 -0
- package/dist/es/chrome-extension/index.mjs +5 -0
- package/dist/es/chrome-extension/page.mjs +733 -0
- package/dist/es/cli-options.mjs +97 -0
- package/dist/es/cli.mjs +26 -0
- package/dist/es/common/cache-helper.mjs +26 -0
- package/dist/es/common/viewport.mjs +36 -0
- package/dist/es/index.mjs +8 -0
- package/dist/es/mcp-server.mjs +33 -0
- package/dist/es/mcp-tools-cdp.mjs +164 -0
- package/dist/es/mcp-tools-puppeteer.mjs +246 -0
- package/dist/es/mcp-tools.mjs +81 -0
- package/dist/es/platform.mjs +37 -0
- package/dist/es/playwright/ai-fixture.mjs +364 -0
- package/dist/es/playwright/index.mjs +36 -0
- package/dist/es/playwright/page.mjs +42 -0
- package/dist/es/playwright/reporter/index.mjs +178 -0
- package/dist/es/puppeteer/agent-launcher.mjs +172 -0
- package/dist/es/puppeteer/base-page.mjs +830 -0
- package/dist/es/puppeteer/index.mjs +35 -0
- package/dist/es/puppeteer/page.mjs +7 -0
- package/dist/es/static/index.mjs +3 -0
- package/dist/es/static/static-agent.mjs +10 -0
- package/dist/es/static/static-page.mjs +123 -0
- package/dist/es/utils.mjs +6 -0
- package/dist/es/web-element.mjs +57 -0
- package/dist/es/web-page.mjs +272 -0
- package/dist/lib/bin.js +20 -0
- package/dist/lib/bridge-mode/agent-cli-side.js +172 -0
- package/dist/lib/bridge-mode/browser.js +36 -0
- package/dist/lib/bridge-mode/common.js +105 -0
- package/dist/lib/bridge-mode/index.js +44 -0
- package/dist/lib/bridge-mode/io-client.js +133 -0
- package/dist/lib/bridge-mode/io-server.js +255 -0
- package/dist/lib/bridge-mode/page-browser-side.js +163 -0
- package/dist/lib/cdp-proxy-constants.js +50 -0
- package/dist/lib/cdp-proxy-manager.js +273 -0
- package/dist/lib/cdp-proxy.js +179 -0
- package/dist/lib/cdp-target-store.js +66 -0
- package/dist/lib/chrome-extension/agent.js +42 -0
- package/dist/lib/chrome-extension/cdpInput.js +206 -0
- package/dist/lib/chrome-extension/cdpInput.js.LICENSE.txt +5 -0
- package/dist/lib/chrome-extension/dynamic-scripts.js +86 -0
- package/dist/lib/chrome-extension/index.js +58 -0
- package/dist/lib/chrome-extension/page.js +767 -0
- package/dist/lib/cli-options.js +131 -0
- package/dist/lib/cli.js +54 -0
- package/dist/lib/common/cache-helper.js +66 -0
- package/dist/lib/common/viewport.js +88 -0
- package/dist/lib/index.js +66 -0
- package/dist/lib/mcp-server.js +73 -0
- package/dist/lib/mcp-tools-cdp.js +208 -0
- package/dist/lib/mcp-tools-puppeteer.js +296 -0
- package/dist/lib/mcp-tools.js +115 -0
- package/dist/lib/platform.js +71 -0
- package/dist/lib/playwright/ai-fixture.js +401 -0
- package/dist/lib/playwright/index.js +89 -0
- package/dist/lib/playwright/page.js +76 -0
- package/dist/lib/playwright/reporter/index.js +212 -0
- package/dist/lib/puppeteer/agent-launcher.js +240 -0
- package/dist/lib/puppeteer/base-page.js +876 -0
- package/dist/lib/puppeteer/index.js +85 -0
- package/dist/lib/puppeteer/page.js +41 -0
- package/dist/lib/static/index.js +50 -0
- package/dist/lib/static/static-agent.js +44 -0
- package/dist/lib/static/static-page.js +157 -0
- package/dist/lib/utils.js +38 -0
- package/dist/lib/web-element.js +94 -0
- package/dist/lib/web-page.js +322 -0
- package/dist/types/bin.d.ts +1 -0
- package/dist/types/bridge-mode/agent-cli-side.d.ts +49 -0
- package/dist/types/bridge-mode/browser.d.ts +2 -0
- package/dist/types/bridge-mode/common.d.ts +74 -0
- package/dist/types/bridge-mode/index.d.ts +4 -0
- package/dist/types/bridge-mode/io-client.d.ts +10 -0
- package/dist/types/bridge-mode/io-server.d.ts +27 -0
- package/dist/types/bridge-mode/page-browser-side.d.ts +21 -0
- package/dist/types/cdp-proxy-constants.d.ts +4 -0
- package/dist/types/cdp-proxy-manager.d.ts +53 -0
- package/dist/types/cdp-proxy.d.ts +37 -0
- package/dist/types/cdp-target-store.d.ts +26 -0
- package/dist/types/chrome-extension/agent.d.ts +4 -0
- package/dist/types/chrome-extension/cdpInput.d.ts +52 -0
- package/dist/types/chrome-extension/dynamic-scripts.d.ts +3 -0
- package/dist/types/chrome-extension/index.d.ts +5 -0
- package/dist/types/chrome-extension/page.d.ts +120 -0
- package/dist/types/cli-options.d.ts +8 -0
- package/dist/types/cli.d.ts +1 -0
- package/dist/types/common/cache-helper.d.ts +20 -0
- package/dist/types/common/viewport.d.ts +17 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/mcp-server.d.ts +26 -0
- package/dist/types/mcp-tools-cdp.d.ts +23 -0
- package/dist/types/mcp-tools-puppeteer.d.ts +23 -0
- package/dist/types/mcp-tools.d.ts +14 -0
- package/dist/types/platform.d.ts +10 -0
- package/dist/types/playwright/ai-fixture.d.ts +133 -0
- package/dist/types/playwright/index.d.ts +13 -0
- package/dist/types/playwright/page.d.ts +11 -0
- package/dist/types/playwright/reporter/index.d.ts +28 -0
- package/dist/types/puppeteer/agent-launcher.d.ts +59 -0
- package/dist/types/puppeteer/base-page.d.ts +123 -0
- package/dist/types/puppeteer/index.d.ts +11 -0
- package/dist/types/puppeteer/page.d.ts +6 -0
- package/dist/types/static/index.d.ts +2 -0
- package/dist/types/static/static-agent.d.ts +5 -0
- package/dist/types/static/static-page.d.ts +46 -0
- package/dist/types/utils.d.ts +6 -0
- package/dist/types/web-element.d.ts +48 -0
- package/dist/types/web-page.d.ts +69 -0
- package/package.json +173 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
14
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: definition[key]
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
})();
|
|
20
|
+
(()=>{
|
|
21
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
|
+
})();
|
|
23
|
+
(()=>{
|
|
24
|
+
__webpack_require__.r = (exports1)=>{
|
|
25
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
+
value: 'Module'
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
+
value: true
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
})();
|
|
33
|
+
var __webpack_exports__ = {};
|
|
34
|
+
__webpack_require__.r(__webpack_exports__);
|
|
35
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
+
PuppeteerWebPage: ()=>external_page_js_namespaceObject.PuppeteerWebPage,
|
|
37
|
+
PuppeteerAgent: ()=>PuppeteerAgent,
|
|
38
|
+
overrideAIConfig: ()=>env_namespaceObject.overrideAIConfig
|
|
39
|
+
});
|
|
40
|
+
const agent_namespaceObject = require("@godscene/core/agent");
|
|
41
|
+
const logger_namespaceObject = require("@godscene/shared/logger");
|
|
42
|
+
const external_semver_namespaceObject = require("semver");
|
|
43
|
+
var external_semver_default = /*#__PURE__*/ __webpack_require__.n(external_semver_namespaceObject);
|
|
44
|
+
const external_utils_js_namespaceObject = require("../utils.js");
|
|
45
|
+
const external_base_page_js_namespaceObject = require("./base-page.js");
|
|
46
|
+
const external_page_js_namespaceObject = require("./page.js");
|
|
47
|
+
const env_namespaceObject = require("@godscene/shared/env");
|
|
48
|
+
const debug = (0, logger_namespaceObject.getDebug)('puppeteer:agent');
|
|
49
|
+
function getPuppeteerVersion() {
|
|
50
|
+
try {
|
|
51
|
+
const puppeteerPkg = (0, external_utils_js_namespaceObject.getWebpackRequire)()('puppeteer/package.json');
|
|
52
|
+
return puppeteerPkg.version || null;
|
|
53
|
+
} catch (error) {
|
|
54
|
+
console.error('[midscene:error] Failed to get Puppeteer version', error);
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
class PuppeteerAgent extends agent_namespaceObject.Agent {
|
|
59
|
+
isRetryableContextError(error) {
|
|
60
|
+
return error instanceof Error && external_base_page_js_namespaceObject.BROWSER_NAVIGATION_ERROR_PATTERN.test(error.message);
|
|
61
|
+
}
|
|
62
|
+
constructor(page, opts){
|
|
63
|
+
if (!page) throw new Error('[midscene] PuppeteerAgent requires a valid Puppeteer page instance. Please make sure to pass a valid page object.');
|
|
64
|
+
const webPage = new external_page_js_namespaceObject.PuppeteerWebPage(page, opts);
|
|
65
|
+
super(webPage, opts);
|
|
66
|
+
const { forceSameTabNavigation = true, forceChromeSelectRendering } = opts ?? {};
|
|
67
|
+
if (forceSameTabNavigation) (0, external_base_page_js_namespaceObject.forceClosePopup)(page, debug);
|
|
68
|
+
if (forceChromeSelectRendering) {
|
|
69
|
+
const puppeteerVersion = getPuppeteerVersion();
|
|
70
|
+
if (puppeteerVersion && !external_semver_default().gte(puppeteerVersion, '24.6.0')) console.warn(`[midscene:error] forceChromeSelectRendering requires Puppeteer > 24.6.0, but current version is ${puppeteerVersion}. This feature may not work correctly.`);
|
|
71
|
+
(0, external_base_page_js_namespaceObject.forceChromeSelectRendering)(page);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.PuppeteerAgent = __webpack_exports__.PuppeteerAgent;
|
|
76
|
+
exports.PuppeteerWebPage = __webpack_exports__.PuppeteerWebPage;
|
|
77
|
+
exports.overrideAIConfig = __webpack_exports__.overrideAIConfig;
|
|
78
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
79
|
+
"PuppeteerAgent",
|
|
80
|
+
"PuppeteerWebPage",
|
|
81
|
+
"overrideAIConfig"
|
|
82
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
83
|
+
Object.defineProperty(exports, '__esModule', {
|
|
84
|
+
value: true
|
|
85
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
PuppeteerWebPage: ()=>PuppeteerWebPage
|
|
28
|
+
});
|
|
29
|
+
const external_base_page_js_namespaceObject = require("./base-page.js");
|
|
30
|
+
class PuppeteerWebPage extends external_base_page_js_namespaceObject.Page {
|
|
31
|
+
constructor(page, opts){
|
|
32
|
+
super(page, 'puppeteer', opts);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.PuppeteerWebPage = __webpack_exports__.PuppeteerWebPage;
|
|
36
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
37
|
+
"PuppeteerWebPage"
|
|
38
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
39
|
+
Object.defineProperty(exports, '__esModule', {
|
|
40
|
+
value: true
|
|
41
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
14
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: definition[key]
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
})();
|
|
20
|
+
(()=>{
|
|
21
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
|
+
})();
|
|
23
|
+
(()=>{
|
|
24
|
+
__webpack_require__.r = (exports1)=>{
|
|
25
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
+
value: 'Module'
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
+
value: true
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
})();
|
|
33
|
+
var __webpack_exports__ = {};
|
|
34
|
+
__webpack_require__.r(__webpack_exports__);
|
|
35
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
+
StaticPageAgent: ()=>external_static_agent_js_namespaceObject.StaticPageAgent,
|
|
37
|
+
StaticPage: ()=>external_static_page_js_default()
|
|
38
|
+
});
|
|
39
|
+
const external_static_agent_js_namespaceObject = require("./static-agent.js");
|
|
40
|
+
const external_static_page_js_namespaceObject = require("./static-page.js");
|
|
41
|
+
var external_static_page_js_default = /*#__PURE__*/ __webpack_require__.n(external_static_page_js_namespaceObject);
|
|
42
|
+
exports.StaticPage = __webpack_exports__.StaticPage;
|
|
43
|
+
exports.StaticPageAgent = __webpack_exports__.StaticPageAgent;
|
|
44
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
45
|
+
"StaticPage",
|
|
46
|
+
"StaticPageAgent"
|
|
47
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
48
|
+
Object.defineProperty(exports, '__esModule', {
|
|
49
|
+
value: true
|
|
50
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
StaticPageAgent: ()=>StaticPageAgent
|
|
28
|
+
});
|
|
29
|
+
const agent_namespaceObject = require("@godscene/core/agent");
|
|
30
|
+
class StaticPageAgent extends agent_namespaceObject.Agent {
|
|
31
|
+
constructor(page){
|
|
32
|
+
super(page, {
|
|
33
|
+
generateReport: false
|
|
34
|
+
});
|
|
35
|
+
this.dryMode = true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.StaticPageAgent = __webpack_exports__.StaticPageAgent;
|
|
39
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
40
|
+
"StaticPageAgent"
|
|
41
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
42
|
+
Object.defineProperty(exports, '__esModule', {
|
|
43
|
+
value: true
|
|
44
|
+
});
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
default: ()=>StaticPage
|
|
28
|
+
});
|
|
29
|
+
const device_namespaceObject = require("@godscene/core/device");
|
|
30
|
+
const common_namespaceObject = require("@godscene/shared/common");
|
|
31
|
+
function _define_property(obj, key, value) {
|
|
32
|
+
if (key in obj) Object.defineProperty(obj, key, {
|
|
33
|
+
value: value,
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true
|
|
37
|
+
});
|
|
38
|
+
else obj[key] = value;
|
|
39
|
+
return obj;
|
|
40
|
+
}
|
|
41
|
+
const ThrowNotImplemented = (methodName)=>{
|
|
42
|
+
throw new Error(`The method "${methodName}" is not implemented as designed since this is a static UI context. (${common_namespaceObject.ERROR_CODE_NOT_IMPLEMENTED_AS_DESIGNED})`);
|
|
43
|
+
};
|
|
44
|
+
class StaticPage {
|
|
45
|
+
actionSpace() {
|
|
46
|
+
return [
|
|
47
|
+
(0, device_namespaceObject.defineActionTap)(async (param)=>{
|
|
48
|
+
ThrowNotImplemented('Tap');
|
|
49
|
+
}),
|
|
50
|
+
(0, device_namespaceObject.defineActionRightClick)(async (param)=>{
|
|
51
|
+
ThrowNotImplemented('RightClick');
|
|
52
|
+
}),
|
|
53
|
+
(0, device_namespaceObject.defineActionHover)(async (param)=>{
|
|
54
|
+
ThrowNotImplemented('Hover');
|
|
55
|
+
}),
|
|
56
|
+
(0, device_namespaceObject.defineActionInput)(async (param)=>{
|
|
57
|
+
ThrowNotImplemented('Input');
|
|
58
|
+
}),
|
|
59
|
+
(0, device_namespaceObject.defineActionKeyboardPress)(async (param)=>{
|
|
60
|
+
ThrowNotImplemented('KeyboardPress');
|
|
61
|
+
}),
|
|
62
|
+
(0, device_namespaceObject.defineActionScroll)(async (param)=>{
|
|
63
|
+
ThrowNotImplemented('Scroll');
|
|
64
|
+
}),
|
|
65
|
+
(0, device_namespaceObject.defineActionDragAndDrop)(async (param)=>{
|
|
66
|
+
ThrowNotImplemented('DragAndDrop');
|
|
67
|
+
}),
|
|
68
|
+
(0, device_namespaceObject.defineActionSwipe)(async (param)=>{
|
|
69
|
+
ThrowNotImplemented('Swipe');
|
|
70
|
+
})
|
|
71
|
+
];
|
|
72
|
+
}
|
|
73
|
+
async evaluateJavaScript(script) {
|
|
74
|
+
return ThrowNotImplemented('evaluateJavaScript');
|
|
75
|
+
}
|
|
76
|
+
async getElementsInfo() {
|
|
77
|
+
return ThrowNotImplemented('getElementsInfo');
|
|
78
|
+
}
|
|
79
|
+
async getElementsNodeTree() {
|
|
80
|
+
return ThrowNotImplemented('getElementsNodeTree');
|
|
81
|
+
}
|
|
82
|
+
async getXpathsByPoint(point) {
|
|
83
|
+
return ThrowNotImplemented('getXpathsByPoint');
|
|
84
|
+
}
|
|
85
|
+
async getElementFromPoint(args) {
|
|
86
|
+
return ThrowNotImplemented('getElementFromPoint');
|
|
87
|
+
}
|
|
88
|
+
async getElementInfoByXpath(xpath) {
|
|
89
|
+
return ThrowNotImplemented('getElementInfoByXpath');
|
|
90
|
+
}
|
|
91
|
+
async size() {
|
|
92
|
+
return {
|
|
93
|
+
...this.uiContext.shotSize
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
async screenshotBase64() {
|
|
97
|
+
const screenshot = this.uiContext.screenshot;
|
|
98
|
+
if ('object' == typeof screenshot && 'base64' in screenshot) return screenshot.base64;
|
|
99
|
+
return screenshot;
|
|
100
|
+
}
|
|
101
|
+
async url() {
|
|
102
|
+
return Promise.resolve('https://static_page_without_url');
|
|
103
|
+
}
|
|
104
|
+
async scrollUntilTop(startingPoint) {
|
|
105
|
+
return ThrowNotImplemented('scrollUntilTop');
|
|
106
|
+
}
|
|
107
|
+
async scrollUntilBottom(startingPoint) {
|
|
108
|
+
return ThrowNotImplemented('scrollUntilBottom');
|
|
109
|
+
}
|
|
110
|
+
async scrollUntilLeft(startingPoint) {
|
|
111
|
+
return ThrowNotImplemented('scrollUntilLeft');
|
|
112
|
+
}
|
|
113
|
+
async scrollUntilRight(startingPoint) {
|
|
114
|
+
return ThrowNotImplemented('scrollUntilRight');
|
|
115
|
+
}
|
|
116
|
+
async scrollUp(distance, startingPoint) {
|
|
117
|
+
return ThrowNotImplemented('scrollUp');
|
|
118
|
+
}
|
|
119
|
+
async scrollDown(distance, startingPoint) {
|
|
120
|
+
return ThrowNotImplemented('scrollDown');
|
|
121
|
+
}
|
|
122
|
+
async scrollLeft(distance, startingPoint) {
|
|
123
|
+
return ThrowNotImplemented('scrollLeft');
|
|
124
|
+
}
|
|
125
|
+
async scrollRight(distance, startingPoint) {
|
|
126
|
+
return ThrowNotImplemented('scrollRight');
|
|
127
|
+
}
|
|
128
|
+
async clearInput() {
|
|
129
|
+
return ThrowNotImplemented('clearInput');
|
|
130
|
+
}
|
|
131
|
+
async destroy() {}
|
|
132
|
+
updateContext(newContext) {
|
|
133
|
+
this.uiContext = newContext;
|
|
134
|
+
}
|
|
135
|
+
constructor(uiContext){
|
|
136
|
+
_define_property(this, "interfaceType", 'static');
|
|
137
|
+
_define_property(this, "uiContext", void 0);
|
|
138
|
+
_define_property(this, "mouse", {
|
|
139
|
+
click: ThrowNotImplemented.bind(null, 'mouse.click'),
|
|
140
|
+
wheel: ThrowNotImplemented.bind(null, 'mouse.wheel'),
|
|
141
|
+
move: ThrowNotImplemented.bind(null, 'mouse.move'),
|
|
142
|
+
drag: ThrowNotImplemented.bind(null, 'mouse.drag')
|
|
143
|
+
});
|
|
144
|
+
_define_property(this, "keyboard", {
|
|
145
|
+
type: ThrowNotImplemented.bind(null, 'keyboard.type'),
|
|
146
|
+
press: ThrowNotImplemented.bind(null, 'keyboard.press')
|
|
147
|
+
});
|
|
148
|
+
this.uiContext = uiContext;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports["default"] = __webpack_exports__["default"];
|
|
152
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
153
|
+
"default"
|
|
154
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
155
|
+
Object.defineProperty(exports, '__esModule', {
|
|
156
|
+
value: true
|
|
157
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
getWebpackRequire: ()=>getWebpackRequire
|
|
28
|
+
});
|
|
29
|
+
function getWebpackRequire() {
|
|
30
|
+
return "u" > typeof require ? require : require;
|
|
31
|
+
}
|
|
32
|
+
exports.getWebpackRequire = __webpack_exports__.getWebpackRequire;
|
|
33
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
34
|
+
"getWebpackRequire"
|
|
35
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
36
|
+
Object.defineProperty(exports, '__esModule', {
|
|
37
|
+
value: true
|
|
38
|
+
});
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
WebElementInfoImpl: ()=>WebElementInfoImpl,
|
|
28
|
+
limitOpenNewTabScript: ()=>limitOpenNewTabScript
|
|
29
|
+
});
|
|
30
|
+
function _define_property(obj, key, value) {
|
|
31
|
+
if (key in obj) Object.defineProperty(obj, key, {
|
|
32
|
+
value: value,
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true
|
|
36
|
+
});
|
|
37
|
+
else obj[key] = value;
|
|
38
|
+
return obj;
|
|
39
|
+
}
|
|
40
|
+
class WebElementInfoImpl {
|
|
41
|
+
constructor({ content, rect, id, attributes, indexId, xpaths, isVisible }){
|
|
42
|
+
_define_property(this, "content", void 0);
|
|
43
|
+
_define_property(this, "rect", void 0);
|
|
44
|
+
_define_property(this, "center", void 0);
|
|
45
|
+
_define_property(this, "id", void 0);
|
|
46
|
+
_define_property(this, "indexId", void 0);
|
|
47
|
+
_define_property(this, "attributes", void 0);
|
|
48
|
+
_define_property(this, "xpaths", void 0);
|
|
49
|
+
_define_property(this, "isVisible", void 0);
|
|
50
|
+
this.content = content;
|
|
51
|
+
this.rect = rect;
|
|
52
|
+
this.center = [
|
|
53
|
+
Math.floor(rect.left + rect.width / 2),
|
|
54
|
+
Math.floor(rect.top + rect.height / 2)
|
|
55
|
+
];
|
|
56
|
+
this.id = id;
|
|
57
|
+
this.attributes = attributes;
|
|
58
|
+
this.indexId = indexId;
|
|
59
|
+
this.xpaths = xpaths;
|
|
60
|
+
this.isVisible = isVisible;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const limitOpenNewTabScript = `
|
|
64
|
+
if (!window.__MIDSCENE_NEW_TAB_INTERCEPTOR_INITIALIZED__) {
|
|
65
|
+
window.__MIDSCENE_NEW_TAB_INTERCEPTOR_INITIALIZED__ = true;
|
|
66
|
+
|
|
67
|
+
// Intercept the window.open method (only once)
|
|
68
|
+
window.open = function(url) {
|
|
69
|
+
console.log('Blocked window.open:', url);
|
|
70
|
+
window.location.href = url;
|
|
71
|
+
return null;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
// Block all a tag clicks with target="_blank" (only once)
|
|
75
|
+
document.addEventListener('click', function(e) {
|
|
76
|
+
const target = e.target.closest('a');
|
|
77
|
+
if (target && target.target === '_blank') {
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
console.log('Blocked new tab:', target.href);
|
|
80
|
+
window.location.href = target.href;
|
|
81
|
+
target.removeAttribute('target');
|
|
82
|
+
}
|
|
83
|
+
}, true);
|
|
84
|
+
}
|
|
85
|
+
`;
|
|
86
|
+
exports.WebElementInfoImpl = __webpack_exports__.WebElementInfoImpl;
|
|
87
|
+
exports.limitOpenNewTabScript = __webpack_exports__.limitOpenNewTabScript;
|
|
88
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
89
|
+
"WebElementInfoImpl",
|
|
90
|
+
"limitOpenNewTabScript"
|
|
91
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
92
|
+
Object.defineProperty(exports, '__esModule', {
|
|
93
|
+
value: true
|
|
94
|
+
});
|