メインコンテンツにスキップ
バージョン: 22.5.0

Mouse クラス

Mouse クラスは、ビューポートの左上隅を基準としたメインフレームの CSS ピクセルで動作します。

シグネチャ:

export declare abstract class Mouse

備考

すべての page オブジェクトには、[page.mouse](#pagemouse) でアクセスできる独自の Mouse があります。

このクラスのコンストラクタは内部としてマークされています。サードパーティのコードは、コンストラクタを直接呼び出したり、Mouse クラスを拡張するサブクラスを作成したりしないでください。

例 1

// Using ‘page.mouse’ to trace a 100x100 square.
await page.mouse.move(0, 0);
await page.mouse.down();
await page.mouse.move(0, 100);
await page.mouse.move(100, 100);
await page.mouse.move(100, 0);
await page.mouse.move(0, 0);
await page.mouse.up();

注意: マウスイベントは合成 MouseEvent をトリガーします。これは、通常のマウス操作でユーザーが行うことができる機能が完全に再現されるわけではないことを意味します。

たとえば、page.mouse を使用してテキストをドラッグおよび選択することはできません。代わりに、プラットフォームに実装されている `DocumentOrShadowRoot.getSelection()` 機能を使用できます。

例 2

たとえば、ノード間のすべてのコンテンツを選択する場合

await page.evaluate(
(from, to) => {
const selection = from.getRootNode().getSelection();
const range = document.createRange();
range.setStartBefore(from);
range.setEndAfter(to);
selection.removeAllRanges();
selection.addRange(range);
},
fromJSHandle,
toJSHandle
);

選択したものをコピー&ペーストしたい場合は、クリップボード API を使用できます。

// The clipboard api does not allow you to copy, unless the tab is focused.
await page.bringToFront();
await page.evaluate(() => {
// Copy the selected content to the clipboard
document.execCommand('copy');
// Obtain the content of the clipboard as a string
return navigator.clipboard.readText();
});

注意: クリップボード API にアクセスするには、そのための許可を与える必要があります。

await browser
.defaultBrowserContext()
.overridePermissions('<your origin>', ['clipboard-read', 'clipboard-write']);

メソッド

メソッド修飾子説明
click(x, y, options)mouse.movemouse.downmouse.up のショートカット。
down(options)マウスを押します。
drag(start, target)drag イベントをディスパッチします。
dragAndDrop(start, target, options)ドラッグ、dragenter、dragover、およびドロップを順番に実行します。
dragEnter(target, data)dragenter イベントをディスパッチします。
dragOver(target, data)dragover イベントをディスパッチします。
drop(target, data)ドラッグエンター、ドラッグオーバー、ドロップを順番に実行します。
move(x, y, options)マウスを指定された座標に移動します。
reset()マウスをデフォルトの状態にリセットします: ボタンは押されておらず、位置は (0,0) です。
up(options)マウスを離します。
wheel(options)mousewheel イベントをディスパッチします。