@d-zero/puppeteer-screenshot 3.4.0 → 3.4.2

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 (2) hide show
  1. package/README.md +8 -90
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -1,110 +1,28 @@
1
1
  # `@d-zero/puppeteer-screenshot`
2
2
 
3
- Puppeteerでスクリーンショットを撮るためのユーティリティです。
3
+ Puppeteer で複数サイズのスクリーンショット + DOM テキスト + alt 属性を取得するユーティリティ。
4
4
 
5
- ## インストール
5
+ ## Installation
6
6
 
7
7
  ```sh
8
- yarn install @d-zero/puppeteer-screenshot
8
+ yarn add @d-zero/puppeteer-screenshot
9
9
  ```
10
10
 
11
- ## 使い方
12
-
13
- ### 基本的な使い方
11
+ ## Usage
14
12
 
15
13
  ```ts
16
- import { screenshot } from '@d-zero/puppeteer-screenshot';
17
-
18
- const browser = await puppeteer.launch();
19
- const page = await browser.newPage();
14
+ import { screenshot, screenshotListener } from '@d-zero/puppeteer-screenshot';
20
15
 
21
- // スクリーンショットのバイナリデータを持つオブジェクトを返します
22
16
  const result = await screenshot(page, 'https://example.com', {
23
- path: 'path/to/save.png', // 保存先のパスを指定することでファイルに保存できます(省略可)
17
+ path: 'path/to/save.png',
24
18
  sizes: {
25
19
  desktop: { width: 1400 },
26
20
  mobile: { width: 375, resolution: 2 },
27
21
  },
28
- });
29
- ```
30
-
31
- ### リスナーを使ったロギング
32
-
33
- ```ts
34
- import { screenshot, screenshotListener } from '@d-zero/puppeteer-screenshot';
35
-
36
- const result = await screenshot(page, 'https://example.com', {
37
- listener: screenshotListener, // 標準のログ出力リスナー
38
- });
39
-
40
- // またはカスタムリスナー
41
- const result = await screenshot(page, 'https://example.com', {
42
- listener: (phase, data) => {
43
- console.log(phase, data);
44
- },
45
- });
46
- ```
47
-
48
- ## オプション
49
-
50
- | オプション | 型 | 説明 |
51
- | ----------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
52
- | `id` | `string` | スクリーンショットのカスタム識別子。省略時はURLからファイル名が生成されます |
53
- | `path` | `string` | スクリーンショットの保存先パス。指定するとファイルに保存されます(例: `path/to/save.png`はサイズ別に`save@desktop.png`、`save@mobile.png`などに保存) |
54
- | `sizes` | `Sizes` | スクリーンショットを撮るサイズと解像度の設定。省略時はデフォルトサイズ(desktop、tablet、mobile)が使用されます |
55
- | `hooks` | `PageHook[]` | ページスキャン時に実行するフック関数の配列 |
56
- | `listener` | `Listener<ScreenshotPhase>` | スクリーンショット処理の各フェーズをリスンする関数。`screenshotListener`を使うと標準のログ出力が得られます |
57
- | `domOnly` | `boolean` | `true`の場合、スクリーンショットの撮影をスキップしてDOMのみを取得します(デフォルト: `false`) |
58
- | `selector` | `string` | 特定の要素のみをスクリーンショット撮影するためのCSSセレクター |
59
- | `ignore` | `string` | スクリーンショットから除外する(非表示にする)要素のCSSセレクター |
60
- | `timeout` | `number` | カスタムタイムアウト値(ミリ秒) |
61
- | `openDisclosures` | `boolean` | `true`の場合、disclosure要素(`<details>`と`button[aria-expanded="false"]`)を展開します(最大1000回まで繰り返す) |
62
- | `scrollInterval` | `number \| DelayOptions` | スクロール間隔(ミリ秒)。固定値またはランダム範囲(`{ random: ... }`)を指定可能。未指定時は[`@d-zero/puppeteer-scroll`](../puppeteer-scroll/README.md#デフォルト挙動)のデフォルト |
63
- | `scrollDistance` | `number \| DelayOptions` | 1スクロールステップで進むピクセル数。固定値またはランダム範囲を指定可能。未指定時は同上 |
64
-
65
- ## エクスポート
66
-
67
- ### `screenshot(page, url, options?)`
68
-
69
- 指定されたURLのページのスクリーンショットを撮影します。
70
-
71
- ### `screenshotListener`
72
-
73
- スクリーンショット処理のログを標準出力に出力するための事前設定されたリスナー関数です。
74
-
75
- ```ts
76
- import { screenshot, screenshotListener } from '@d-zero/puppeteer-screenshot';
77
-
78
- const result = await screenshot(page, 'https://example.com', {
79
22
  listener: screenshotListener,
80
23
  });
81
24
  ```
82
25
 
83
- ## 型のエクスポート
84
-
85
- ### `Screenshot`
86
-
87
- `screenshot`関数の戻り値の型です。サイズごとのスクリーンショット結果を含むオブジェクトです。
88
-
89
- ```ts
90
- type Screenshot = {
91
- id: string; // スクリーンショットの識別子
92
- filePath: string | null; // 保存先ファイルパス(pathオプション指定時)
93
- url: string; // 対象URL
94
- title: string; // ページタイトル
95
- binary: Uint8Array | null; // スクリーンショットのバイナリデータ
96
- dom: string; // ページのDOM文字列
97
- text: {
98
- textContent: string; // ページのテキストコンテンツ
99
- altTextList: readonly string[]; // 画像のalt属性リスト
100
- };
101
- } & Size; // サイズ情報(width, height, resolution)
102
- ```
103
-
104
- ### `ScreenshotPhase`
105
-
106
- リスナー関数に渡されるフェーズの型です。
107
-
108
- ### `PageHook`
26
+ `path` を指定すると `save@desktop.png`、`save@mobile.png` のようにサイズ別に保存される。オプション詳細は型定義を参照。
109
27
 
110
- `@d-zero/puppeteer-page-scan`から再エクスポートされるページフック関数の型です。
28
+ スクロール挙動(`scrollInterval` / `scrollDistance`)の決定論的指定が必要なら [`@d-zero/puppeteer-scroll`](../puppeteer-scroll/) を参照。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d-zero/puppeteer-screenshot",
3
- "version": "3.4.0",
3
+ "version": "3.4.2",
4
4
  "description": "Screenshot utility for puppeteer",
5
5
  "author": "D-ZERO",
6
6
  "license": "MIT",
@@ -23,8 +23,8 @@
23
23
  "clean": "tsc --build --clean"
24
24
  },
25
25
  "dependencies": {
26
- "@d-zero/puppeteer-general-actions": "1.2.3",
27
- "@d-zero/puppeteer-page-scan": "4.5.0",
26
+ "@d-zero/puppeteer-general-actions": "1.2.5",
27
+ "@d-zero/puppeteer-page-scan": "4.5.2",
28
28
  "@d-zero/shared": "0.22.0"
29
29
  },
30
30
  "devDependencies": {
@@ -38,5 +38,5 @@
38
38
  "url": "https://github.com/d-zero-dev/tools.git",
39
39
  "directory": "packages/@d-zero/puppeteer-screenshot"
40
40
  },
41
- "gitHead": "2d24e08c0cb516b7ea9d07a4301eb991193cca11"
41
+ "gitHead": "16c831105a12bb635d49130e7f5add25b6643c40"
42
42
  }