メインコンテンツにスキップ

JSHandle

JSHandleは、ページ内のJavaScriptオブジェクトを表します。JSHandleは、Page.EvaluateHandleAsync() メソッドで作成できます。

var windowHandle = await page.EvaluateHandleAsync("() => window");

JSHandleは、JsHandle.DisposeAsync() でハンドルを公開しない限り、参照されているJavaScriptオブジェクトがガベージコレクションされるのを防ぎます。JSHandleは、元のフレームがナビゲートされるか、親コンテキストが破棄されると自動的に破棄されます。

JSHandleインスタンスは、Page.EvalOnSelectorAsync()Page.EvaluateAsync()、および Page.EvaluateHandleAsync() メソッドの引数として使用できます。


メソッド

AsElement

v1.9より前に追加 jsHandle.AsElement

オブジェクトハンドルが ElementHandle のインスタンスである場合、null またはオブジェクトハンドル自体を返します。

使用例

JsHandle.AsElement();

戻り値


DisposeAsync

v1.9より前に追加 jsHandle.DisposeAsync

jsHandle.dispose メソッドは、要素ハンドルへの参照を停止します。

使用例

await JsHandle.DisposeAsync();

戻り値


EvaluateAsync

v1.9より前に追加 jsHandle.EvaluateAsync

expression の戻り値を返します。

このメソッドは、このハンドルを expression の最初の引数として渡します。

expressionPromise を返す場合、handle.evaluate はPromiseが解決されるのを待って、その値を返します。

使用例

var tweetHandle = await page.QuerySelectorAsync(".tweet .retweets");
Assert.AreEqual("10 retweets", await tweetHandle.EvaluateAsync("node => node.innerText"));

引数

  • expression string#

    ブラウザコンテキストで評価されるJavaScript式。式が関数として評価される場合、関数は自動的に呼び出されます。

  • arg EvaluationArgument? (オプション)#

    expression に渡すオプションの引数。

戻り値

  • [object]#

EvaluateHandleAsync

v1.9より前に追加 jsHandle.EvaluateHandleAsync

expression の戻り値を JSHandle として返します。

このメソッドは、このハンドルを expression の最初の引数として渡します。

jsHandle.evaluatejsHandle.evaluateHandle の唯一の違いは、jsHandle.evaluateHandleJSHandle を返すことです。

jsHandle.evaluateHandle に渡された関数が Promise を返す場合、jsHandle.evaluateHandle はPromiseが解決されるのを待って、その値を返します。

詳細については、Page.EvaluateHandleAsync() を参照してください。

使用例

await JsHandle.EvaluateHandleAsync(expression, arg);

引数

  • expression string#

    ブラウザコンテキストで評価されるJavaScript式。式が関数として評価される場合、関数は自動的に呼び出されます。

  • arg EvaluationArgument? (オプション)#

    expression に渡すオプションの引数。

戻り値


GetPropertiesAsync

v1.9より前に追加 jsHandle.GetPropertiesAsync

このメソッドは、独自のプロパティ名をキーとし、プロパティ値にJSHandleインスタンスを持つマップを返します。

使用例

var handle = await page.EvaluateHandleAsync("() => ({ window, document }");
var properties = await handle.GetPropertiesAsync();
var windowHandle = properties["window"];
var documentHandle = properties["document"];
await handle.DisposeAsync();

戻り値


GetPropertyAsync

v1.9より前に追加 jsHandle.GetPropertyAsync

参照されているオブジェクトから単一のプロパティを取得します。

使用例

await JsHandle.GetPropertyAsync(propertyName);

引数

  • propertyName string#

    取得するプロパティ

戻り値


JsonValueAsync

v1.9より前に追加 jsHandle.JsonValueAsync

オブジェクトのJSON表現を返します。オブジェクトに toJSON 関数がある場合でも、それは呼び出されません

note

参照されているオブジェクトが文字列化可能でない場合、このメソッドは空のJSONオブジェクトを返します。オブジェクトに循環参照がある場合は、エラーをスローします。

使用例

await JsHandle.JsonValueAsync();

戻り値

  • [object]#