jumpy-lion 0.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 (58) hide show
  1. package/dist/browser-controller.d.ts +36 -0
  2. package/dist/browser-controller.d.ts.map +1 -0
  3. package/dist/browser-controller.js +84 -0
  4. package/dist/browser-controller.js.map +1 -0
  5. package/dist/browser-plugin.d.ts +56 -0
  6. package/dist/browser-plugin.d.ts.map +1 -0
  7. package/dist/browser-plugin.js +149 -0
  8. package/dist/browser-plugin.js.map +1 -0
  9. package/dist/browser-process.d.ts +10 -0
  10. package/dist/browser-process.d.ts.map +1 -0
  11. package/dist/browser-process.js +65 -0
  12. package/dist/browser-process.js.map +1 -0
  13. package/dist/browser-profiles/chrome/create.d.ts +5 -0
  14. package/dist/browser-profiles/chrome/create.d.ts.map +1 -0
  15. package/dist/browser-profiles/chrome/create.js +22 -0
  16. package/dist/browser-profiles/chrome/create.js.map +1 -0
  17. package/dist/browser-profiles/chrome/default.d.ts +175 -0
  18. package/dist/browser-profiles/chrome/default.d.ts.map +1 -0
  19. package/dist/browser-profiles/chrome/default.js +175 -0
  20. package/dist/browser-profiles/chrome/default.js.map +1 -0
  21. package/dist/browser-profiles/index.d.ts +3 -0
  22. package/dist/browser-profiles/index.d.ts.map +1 -0
  23. package/dist/browser-profiles/index.js +3 -0
  24. package/dist/browser-profiles/index.js.map +1 -0
  25. package/dist/crawler.d.ts +22 -0
  26. package/dist/crawler.d.ts.map +1 -0
  27. package/dist/crawler.js +42 -0
  28. package/dist/crawler.js.map +1 -0
  29. package/dist/events.d.ts +3 -0
  30. package/dist/events.d.ts.map +1 -0
  31. package/dist/events.js +3 -0
  32. package/dist/events.js.map +1 -0
  33. package/dist/index.d.ts +4 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +4 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/launcher-wrap.d.ts +10 -0
  38. package/dist/launcher-wrap.d.ts.map +1 -0
  39. package/dist/launcher-wrap.js +11 -0
  40. package/dist/launcher-wrap.js.map +1 -0
  41. package/dist/page.d.ts +79 -0
  42. package/dist/page.d.ts.map +1 -0
  43. package/dist/page.js +304 -0
  44. package/dist/page.js.map +1 -0
  45. package/dist/proxy/anonymize-proxy.d.ts +4 -0
  46. package/dist/proxy/anonymize-proxy.d.ts.map +1 -0
  47. package/dist/proxy/anonymize-proxy.js +35 -0
  48. package/dist/proxy/anonymize-proxy.js.map +1 -0
  49. package/dist/proxy/proxy-server.d.ts +2 -0
  50. package/dist/proxy/proxy-server.d.ts.map +1 -0
  51. package/dist/proxy/proxy-server.js +13 -0
  52. package/dist/proxy/proxy-server.js.map +1 -0
  53. package/dist/tsconfig.build.tsbuildinfo +1 -0
  54. package/dist/utils.d.ts +3 -0
  55. package/dist/utils.d.ts.map +1 -0
  56. package/dist/utils.js +7 -0
  57. package/dist/utils.js.map +1 -0
  58. package/package.json +79 -0
@@ -0,0 +1,175 @@
1
+ export const DEFAULT_PROFILE = {
2
+ "distribution": {
3
+ "import_bookmarks": false,
4
+ "import_history": false,
5
+ "import_search_engine": false,
6
+ "make_chrome_default_for_user": false,
7
+ "skip_first_run_ui": true,
8
+ "suppress_first_run_bubble": true,
9
+ "suppress_first_run_default_browser_prompt": true,
10
+ },
11
+ "default_apps_install_state": 3,
12
+ "default_search_provider": {
13
+ "choice_screen_completion_timestamp": "13362176069",
14
+ "choice_screen_completion_version": "125.0.6422.142",
15
+ "choice_screen_random_shuffle_seed": "-8313790061233200449",
16
+ "choice_screen_shuffle_milestone": 128,
17
+ "guid": "485bf7d3-0215-45af-87dc-538868000001",
18
+ "keywords_use_extended_list": true,
19
+ "synced_guid": "37d7bef4-7b36-4e9a-9d26-341f12a8bb50",
20
+ },
21
+ "browser": {
22
+ "app_window_placement": {
23
+ "DevToolsApp": {
24
+ "always_on_top": false,
25
+ "bottom": 801,
26
+ "left": 602,
27
+ "maximized": false,
28
+ "right": 1242,
29
+ "top": 161,
30
+ "work_area_bottom": 1001,
31
+ "work_area_left": 0,
32
+ "work_area_right": 1680,
33
+ "work_area_top": 23,
34
+ },
35
+ "_crx_mdpkiolbdkhdjpekfbkbmhigcaggjagi": {
36
+ "bottom": 834,
37
+ "left": 364,
38
+ "maximized": false,
39
+ "right": 1512,
40
+ "top": 38,
41
+ },
42
+ },
43
+ "back_shortcut_bubble_shown_count": 4,
44
+ "clear_data": {
45
+ "browsing_history_basic": true,
46
+ "cache_basic": true,
47
+ "cookies_basic": true,
48
+ "hosted_apps_data": true,
49
+ "site_settings": true,
50
+ "time_period_basic": 2,
51
+ },
52
+ "has_seen_welcome_page": true,
53
+ "last_clear_browsing_data_tab": 1,
54
+ "show_fullscreen_toolbar": true,
55
+ "theme": {
56
+ "color_variant": 1,
57
+ "user_color": -14244198,
58
+ },
59
+ "window_placement": {
60
+ "always_on_top": false,
61
+ "bottom": 859,
62
+ "left": 295,
63
+ "maximized": false,
64
+ "right": 1443,
65
+ "top": 63,
66
+ "work_area_bottom": 935,
67
+ "work_area_left": 0,
68
+ "work_area_right": 1512,
69
+ "work_area_top": 38,
70
+ },
71
+ "window_placement_popup": {
72
+ "bottom": 866,
73
+ "left": 1586,
74
+ "maximized": false,
75
+ "right": 2086,
76
+ "top": 204,
77
+ "work_area_bottom": 878,
78
+ "work_area_left": 0,
79
+ "work_area_right": 1352,
80
+ "work_area_top": 35,
81
+ },
82
+ },
83
+ "profile": {
84
+ "avatar_index": 0,
85
+ "background_password_check": {
86
+ "check_fri_weight": 9,
87
+ "check_interval": "2592000000000",
88
+ "check_mon_weight": 8,
89
+ "check_sat_weight": 6,
90
+ "check_sun_weight": 6,
91
+ "check_thu_weight": 9,
92
+ "check_tue_weight": 9,
93
+ "check_wed_weight": 9,
94
+ "next_check_time": "13371756771073388",
95
+ },
96
+ "blacklisted_credentials_stripped": true,
97
+ "content_settings": {
98
+ "did_migrate_adaptive_notification_quieting_to_cpss": true,
99
+ "disable_quiet_permission_ui_time": {
100
+ "notifications": "13355544643443271",
101
+ },
102
+ "enable_cpss": {
103
+ "notifications": true,
104
+ },
105
+ "enable_quiet_permission_ui": {
106
+ "notifications": false,
107
+ },
108
+ "enable_quiet_permission_ui_enabling_method": {
109
+ "notifications": 1,
110
+ },
111
+ "pref_version": 1,
112
+ },
113
+ },
114
+ "session": {
115
+ "restore_on_startup": 4,
116
+ },
117
+ "bookmark_bar": {
118
+ "show_on_all_tabs": false,
119
+ },
120
+ "sync_promo": {
121
+ "user_skipped": true,
122
+ "show_on_first_run_allowed": false,
123
+ },
124
+ "alternate_error_pages": {
125
+ "enabled": false,
126
+ },
127
+ "safebrowsing": {
128
+ "advanced_protection_last_refresh": "13371419260681234",
129
+ "enabled": false,
130
+ "event_timestamps": {},
131
+ "metrics_last_log_time": "13371419258",
132
+ "next_password_capture_event_log_time": "13218452064",
133
+ "saw_interstitial_sber2": true,
134
+ "scout_group_selected": true,
135
+ "scout_reporting_enabled": false,
136
+ "scout_reporting_enabled_when_deprecated": false,
137
+ "unhandled_sync_password_reuses": {},
138
+ },
139
+ "search": {
140
+ "suggest_enabled": false,
141
+ },
142
+ "privacy_sandbox": {
143
+ "first_party_sets_data_access_allowed_initialized": true,
144
+ "m1": {
145
+ "ad_measurement_enabled": true,
146
+ "consent_decision_made": true,
147
+ "eea_notice_acknowledged": true,
148
+ "fledge_enabled": true,
149
+ "prompt_suppressed": 6,
150
+ "topics_enabled": true,
151
+ },
152
+ "topics_consent": {
153
+ "consent_given": true,
154
+ "last_update_reason": 1,
155
+ "last_update_time": "13330174836731433",
156
+ "text_at_last_update": "Enhanced ads privacy in Chrome We’re launching new privacy features that give you more choice over the ads that you see. Ad topics help sites show you relevant ads while protecting your browsing history and identity. Chrome can note topics of interest based on your recent browsing history. Later, a site that you visit can ask Chrome for relevant topics to personalise the ads that you see. You can see ad topics in settings and block the ones that you don’t want shared with sites. Chrome also auto-deletes ad topics that are older than four weeks. You can change your mind at any time in Chrome settings More about ad topics What data is used: Your ad topics are based on your recent browsing history – a list of sites that you’ve visited using Chrome on this device. How we use this data: Chrome notes topics of interest as you browse. Topic labels are predefined and include things like Arts and entertainment, Shopping and Sports. Later, a site that you visit can ask Chrome for a few of your topics (but not your browsing history) to personalise the ads that you see. How you can manage your data: Chrome auto-deletes topics that are older than four weeks. As you keep browsing, a topic might reappear on the list. You can also block topics that you don’t want Chrome to share with sites and turn ad topics off at any time in Chrome settings. Learn more about how Google protects your data in our privacy policy.",
157
+ },
158
+ },
159
+ "signin": {
160
+ "allowed": false,
161
+ "allowed_on_next_startup": false,
162
+ },
163
+ "extensions": {
164
+ "theme": {
165
+ "use_system": true,
166
+ },
167
+ },
168
+ "autofill": {
169
+ "enabled": false,
170
+ },
171
+ "intl": {
172
+ "accept_languages": "en-US,en",
173
+ },
174
+ };
175
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/default.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { DEFAULT_PROFILE } from "./chrome/default.js";
2
+ export { createChromeProfile, modifyChromeProfile as modifyProfile } from "./chrome/create.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser-profiles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { DEFAULT_PROFILE } from "./chrome/default.js";
2
+ export { createChromeProfile, modifyChromeProfile as modifyProfile } from "./chrome/create.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser-profiles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Dictionary } from '@crawlee/types';
2
+ import type CDP from 'chrome-remote-interface';
3
+ import type { BrowserCrawlerOptions, BrowserCrawlingContext, BrowserHook, BrowserPoolOptions, BrowserRequestHandler, GetUserDataFromRequest, LoadedContext, RouterRoutes } from 'crawlee';
4
+ import { BrowserCrawler, Configuration } from 'crawlee';
5
+ import type CDPBrowserController from './browser-controller.js';
6
+ import type CdpPage from './page.js';
7
+ export interface CDPCrawlingContext<UserData extends Dictionary = Dictionary> extends BrowserCrawlingContext<typeof CDP, CdpPage, Response, CDPBrowserController, UserData> {
8
+ }
9
+ export interface CDPHook extends BrowserHook<CDPCrawlingContext, CDPGotoOptions> {
10
+ }
11
+ export interface CDPRequestHandler extends BrowserRequestHandler<LoadedContext<CDPCrawlingContext>> {
12
+ }
13
+ export type CDPGotoOptions = Parameters<CdpPage['goto']>[1];
14
+ export default class Crawler extends BrowserCrawler<BrowserPoolOptions, // BrowserPoolOptions (can be customized further if needed)
15
+ {}, // LaunchOptions
16
+ CDPCrawlingContext> {
17
+ readonly config: Configuration;
18
+ constructor(options?: BrowserCrawlerOptions, config?: Configuration);
19
+ protected _navigationHandler(crawlingContext: CDPCrawlingContext): Promise<any>;
20
+ }
21
+ export declare function createCDPRouter<Context extends CDPCrawlingContext = CDPCrawlingContext, UserData extends Dictionary = GetUserDataFromRequest<Context['request']>>(routes?: RouterRoutes<Context, UserData>): import("crawlee").RouterHandler<Context>;
22
+ //# sourceMappingURL=crawler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawler.d.ts","sourceRoot":"","sources":["../src/crawler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1L,OAAO,EAAE,cAAc,EAAE,aAAa,EAAU,MAAM,SAAS,CAAC;AAEhE,OAAO,KAAK,oBAAoB,MAAM,yBAAyB,CAAC;AAGhE,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAGrC,MAAM,WAAW,kBAAkB,CAAC,QAAQ,SAAS,UAAU,GAAG,UAAU,CACxE,SAAQ,sBAAsB,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,CAAC;CAAI;AAErG,MAAM,WAAW,OAAQ,SAAQ,WAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC;CAAI;AACpF,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAAI;AACvG,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,cAAc,CAC/C,kBAAkB,EAAG,2DAA2D;AAChF,EAAE,EAAG,gBAAgB;AACrB,kBAAkB,CACrB;aACsE,MAAM;gBAA7D,OAAO,GAAE,qBAA0B,EAAoB,MAAM,gBAAkC;cA+BlF,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;CAIjG;AAID,wBAAgB,eAAe,CAC3B,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAC1E,MAAM,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,4CAEzC"}
@@ -0,0 +1,42 @@
1
+ import { BrowserCrawler, Configuration, Router } from 'crawlee';
2
+ import CDPBrowserPlugin from './browser-plugin.js';
3
+ import { CdpLauncher } from './launcher-wrap.js';
4
+ // Implement the Crawler class with proper typing
5
+ export default class Crawler extends BrowserCrawler {
6
+ constructor(options = {}, config = Configuration.getGlobalConfig()) {
7
+ const { launchContext = {}, ...browserCrawlerOptions } = options;
8
+ const browserPoolOptions = {
9
+ ...options.browserPoolOptions,
10
+ };
11
+ if (launchContext.proxyUrl) {
12
+ throw new Error('CDPCrawlerOptions.launchContext.proxyUrl is not allowed. Use CDPCrawlerOptions.proxyConfiguration instead.');
13
+ }
14
+ // Disallow setting browserPlugins via browserPoolOptions
15
+ if (browserPoolOptions.browserPlugins) {
16
+ throw new Error('browserPoolOptions.browserPlugins is disallowed. Use launchContext.launcher instead.');
17
+ }
18
+ // Set the browser plugin for CDP
19
+ browserPoolOptions.browserPlugins = [
20
+ new CDPBrowserPlugin(new CdpLauncher()), // Pass the correct plugin
21
+ ];
22
+ // Pass the options and config to the parent class constructor
23
+ // @TODO:
24
+ // @ts-expect-error Fix types
25
+ super({ ...browserCrawlerOptions, launchContext, browserPoolOptions }, config);
26
+ Object.defineProperty(this, "config", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: config
31
+ });
32
+ }
33
+ // Properly typed _navigationHandler method for handling page navigation
34
+ async _navigationHandler(crawlingContext) {
35
+ const { page } = crawlingContext;
36
+ return page.goto(crawlingContext.request.url); // Handle page navigation
37
+ }
38
+ }
39
+ export function createCDPRouter(routes) {
40
+ return Router.create(routes);
41
+ }
42
+ //# sourceMappingURL=crawler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawler.js","sourceRoot":"","sources":["../src/crawler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,iDAAiD;AACjD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,cAIpC;IACG,YAAY,UAAiC,EAAE,EAAoB,SAAS,aAAa,CAAC,eAAe,EAAE;QACvG,MAAM,EACF,aAAa,GAAG,EAAE,EAClB,GAAG,qBAAqB,EAC3B,GAAG,OAAO,CAAC;QAEZ,MAAM,kBAAkB,GAAG;YACvB,GAAG,OAAO,CAAC,kBAAkB;SAChC,CAAC;QAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAClI,CAAC;QAED,yDAAyD;QACzD,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC5G,CAAC;QAED,iCAAiC;QACjC,kBAAkB,CAAC,cAAc,GAAG;YAChC,IAAI,gBAAgB,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,0BAA0B;SACtE,CAAC;QAEF,8DAA8D;QAC9D,SAAS;QACT,6BAA6B;QAC7B,KAAK,CAAC,EAAE,GAAG,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QA3BlC;;;;mBAAkB,MAAM;WAAkC;IA4B3G,CAAC;IAED,wEAAwE;IACrD,KAAK,CAAC,kBAAkB,CAAC,eAAmC;QAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAC5E,CAAC;CACJ;AAID,MAAM,UAAU,eAAe,CAG7B,MAAwC;IACtC,OAAO,MAAM,CAAC,MAAM,CAAU,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const PAGE_CREATED = "pageCreated";
2
+ export declare const PAGE_CLOSED = "pageClosed";
3
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAC1C,eAAO,MAAM,WAAW,eAAe,CAAA"}
package/dist/events.js ADDED
@@ -0,0 +1,3 @@
1
+ export const PAGE_CREATED = "pageCreated";
2
+ export const PAGE_CLOSED = "pageClosed";
3
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ import CDPCrawler from "./crawler.js";
2
+ export default CDPCrawler;
3
+ export { createCDPRouter } from "./crawler.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import CDPCrawler from "./crawler.js";
2
+ export default CDPCrawler;
3
+ export { createCDPRouter } from "./crawler.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Options, Client } from "chrome-remote-interface";
2
+ import type { CommonPage } from "crawlee";
3
+ export interface LaunchReturn extends Client {
4
+ newPage: () => Promise<CommonPage>;
5
+ }
6
+ export declare class CdpLauncher {
7
+ launch(options: Options): Promise<LaunchReturn>;
8
+ }
9
+ export declare const cdpLauncher: CdpLauncher;
10
+ //# sourceMappingURL=launcher-wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher-wrap.d.ts","sourceRoot":"","sources":["../src/launcher-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,YAAa,SAAQ,MAAM;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;CACtC;AACD,qBAAa,WAAW;IACd,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CAOxD;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import CDP from "chrome-remote-interface"; // Import necessary types
2
+ export class CdpLauncher {
3
+ async launch(options) {
4
+ const cdp = await CDP(options); // Returns a CDP.Client instance
5
+ // @ts-expect-error
6
+ cdp.newPage = () => { throw new Error("Use BrowserController class for creating new page!"); };
7
+ return cdp;
8
+ }
9
+ }
10
+ export const cdpLauncher = new CdpLauncher();
11
+ //# sourceMappingURL=launcher-wrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher-wrap.js","sourceRoot":"","sources":["../src/launcher-wrap.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,yBAAyB,CAAC,CAAC,yBAAyB;AAMpE,MAAM,OAAO,WAAW;IACpB,KAAK,CAAC,MAAM,CAAC,OAAgB;QACzB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC;QAChE,oBAAoB;QACpB,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA,CAAC,CAAC,CAAA;QAE7F,OAAO,GAAmB,CAAA;IAC9B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
package/dist/page.d.ts ADDED
@@ -0,0 +1,79 @@
1
+ import { EventEmitter } from 'events';
2
+ import type CDP from 'chrome-remote-interface';
3
+ export interface WaitForResponseOptions {
4
+ urlPattern: string | RegExp;
5
+ timeout?: number;
6
+ statusCode?: number;
7
+ }
8
+ export interface Viewport {
9
+ width: number;
10
+ height: number;
11
+ }
12
+ export interface Cookie {
13
+ name: string;
14
+ value: string;
15
+ domain?: string;
16
+ path?: string;
17
+ expires?: number;
18
+ size?: number;
19
+ httpOnly?: boolean;
20
+ secure?: boolean;
21
+ session?: boolean;
22
+ sameSite?: 'Strict' | 'Lax' | 'None';
23
+ }
24
+ export interface EvaluateResult {
25
+ result: any;
26
+ exceptionDetails?: {
27
+ text: string;
28
+ };
29
+ }
30
+ export default class CdpPage extends EventEmitter {
31
+ private client;
32
+ private loadedUrl;
33
+ constructor(client: CDP.Client);
34
+ static create(client: CDP.Client): Promise<CdpPage>;
35
+ private initialize;
36
+ url(): Promise<string>;
37
+ goto(url: string, options?: {
38
+ waitUntil?: string | string[];
39
+ timeout?: number;
40
+ }): Promise<void>;
41
+ evaluate<T>(pageFunction: Function | string, ...args: any[]): Promise<T>;
42
+ click(selector: string): Promise<void>;
43
+ type(selector: string, text: string, options?: {
44
+ delay?: number;
45
+ }): Promise<void>;
46
+ setViewport(viewport: Viewport): Promise<void>;
47
+ setUserAgent(userAgent: string): Promise<void>;
48
+ setExtraHTTPHeaders(headers: Record<string, string>): Promise<void>;
49
+ waitForSelector(selector: string, options?: {
50
+ timeout?: number;
51
+ }): Promise<void>;
52
+ waitForResponse(urlPart: string, statusCode?: number, timeout?: number): Promise<any>;
53
+ screenshot(options?: {
54
+ path?: string;
55
+ fullPage?: boolean;
56
+ }): Promise<Buffer>;
57
+ content(): Promise<string>;
58
+ close(): Promise<void>;
59
+ elementExists(selector: string): Promise<boolean>;
60
+ getTextContent(selector: string): Promise<string>;
61
+ getHref(selector: string): Promise<string>;
62
+ scrollIntoView(selector: string): Promise<void>;
63
+ blockRequests(urlPatterns: string[]): Promise<void>;
64
+ private getNodeId;
65
+ setCookies(cookies: Cookie[]): Promise<void>;
66
+ /**
67
+ * Retrieves all cookies associated with the given URLs or all cookies for the current page if no URLs are provided.
68
+ *
69
+ * @param {string[]} [urls] - An optional array of URLs for which to retrieve cookies.
70
+ * If no URLs are provided, the method will return all cookies associated with the current page.
71
+ *
72
+ * @returns {Promise<Cookie[]>} - A promise that resolves to an array of cookies.
73
+ * Each cookie contains information such as name, value, domain, path, expiration, and flags like httpOnly, secure, etc.
74
+ *
75
+ *
76
+ */
77
+ getCookies(urls?: string[]): Promise<Cookie[]>;
78
+ }
79
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}