Webをキャプチャして変換するツール

キャプチャを実行する前にWebページがロードされるのを待つ方法は?

メイン コンテンツの後に読み込まれる Web ページ上の項目

一部の Web ページでは、読み込みに時間がかかる場合や、特定のコンテンツが含まれる場合があります。 intメイン ページが読み込まれた後に読み込まれる可能性があることに注意してください。 これは、コンテンツが JavaScript 経由でロードされる AJAX の負荷の高い Web ページに特に当てはまります。

GrabzIt は Web ページの読み込みを検出しますが、上記の特定の状況の一部では、キャプチャが行われる前に使用する必要がある遅延の形で、またはキャプチャが開始される前に指定された HTML 要素が表示されるのを待つことによって、追加の命令が必要になります。先に。 これらのテクニックは、Web ページのスクリーンショットを撮ったり、HTML を変換したりする場合に使用できます。 into PDF、画像、または Word ドキュメントの場合は、プレミアム パッケージがあります。 ただし、どちらの手法も最大待機時間は XNUMX 秒に制限されています。

キャプチャがキューに入れられるという異常なイベントでは、遅延が大きいとキャプチャの優先順位が低下するため、大きすぎる遅延を使用しないことをお勧めします。 賢い回避策 これに。

これらの機能は、 オンラインスクリーンショット & ウェブスクレーパー ツール。

キャプチャを実行する前に指定した時間待つにはどうすればよいですか?

遅延をミリ秒単位で指定するだけで、これがキャプチャの待機時間になります。 1000 秒は XNUMX ミリ秒であることに注意してください。 以下の例はすべて、Web ページをキャプチャする前に XNUMX 秒待機します。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.Delay = 3000;
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.setDelay(3000);
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").ConvertURL("http://www.spacex.com", 
{"delay": 3000}).Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
var options = {"delay":"3000"};
client.url_to_image("http://www.spacex.com", options);
client.save_to("images/result.jpg", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = GrabzItImageOptions->new();
$options->delay(3000);
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo("images/result.jpg");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItImageOptions();
$options->setDelay(3000);
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo($filepath);
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItImageOptions.GrabzItImageOptions()
options.delay = 3000
grabzIt.URLToImage("http://www.spacex.com", options)
grabzIt.SaveTo("images/result.jpg")
https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=jpg&delay=3000&url=https%3A%2F%2Fspacex.com%2F
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzIt::ImageOptions.new()
options.delay = 3000
grabzItClient.url_to_image("http://www.spacex.com", options)
grabzItClient.save_to("images/result.jpg")

キャプチャを実行する前に HTML 要素が表示されるのを待つにはどうすればよいですか?

この手法は、AJAX メソッドを使用してコンテンツをロードする Web ページで特に役立ちます。 まずブラウザの開発者ツールを使用して、表示されるまで待機する必要がある要素を特定し、その ID やクラスをメモするか、より複雑な CSS セレクターを作成します。 次にこれを指定します CSSセレクター 要素が表示されると、Web ページがキャプチャされます。 一致する HTML 要素が複数ある場合は、XNUMX つが表示されるとすぐに表示されることに注意してください。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.WaitForElement = "#Content";
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.setWaitForElement("#Content");
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("images/result.jpg");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").ConvertURL("http://www.spacex.com", 
{"waitfor": "#Content"}).Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
var options = {"waitForElement":"#Content"};
client.url_to_image("http://www.spacex.com", options);
client.save_to("images/result.jpg", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = GrabzItImageOptions->new();
$options->waitForElement("#Content");
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo("images/result.jpg");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItImageOptions();
$options->setWaitForElement("#Content");
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo($filepath);
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItImageOptions.GrabzItImageOptions()
options.waitForElement = "#Content"
grabzIt.URLToImage("http://www.spacex.com", options)
grabzIt.SaveTo("images/result.jpg")
https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=jpg&waitfor=%23Content&url=https%3A%2F%2Fspacex.com%2F
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzIt::ImageOptions.new()
options.waitForElement = "#Content"
grabzItClient.url_to_image("http://www.spacex.com", options)
grabzItClient.save_to("images/result.jpg")

この手法は、最初に説明した遅延方法と組み合わせて使用​​できます。 HTML 要素が表示されるまで待機し、キャプチャを作成する前にさらに待機することができます。