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.move 、mouse.down 、mouse.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 イベントをディスパッチします。 |