Tools zum Erfassen und Konvertieren des Webs

Wie warte ich, bis eine Webseite geladen ist, bevor ich ein Capture durchführe?

Ein Element auf einer Webseite, das nach dem Hauptinhalt geladen wird

Es kann eine Weile dauern, bis einige Webseiten geladen sind oder bestimmte Inhalte enthalten intDas kann geladen werden, nachdem die Hauptseite geladen wurde. Dies gilt insbesondere für AJAX-Webseiten, auf denen Inhalte über JavaScript geladen werden.

GrabzIt erkennt, wann eine Webseite geladen wird, benötigt jedoch für einige der oben aufgeführten besonderen Umstände einige zusätzliche Anweisungen in Form einer Verzögerung, die verwendet werden sollte, bevor die Erfassung durchgeführt wird, oder indem darauf gewartet wird, dass ein bestimmtes HTML-Element angezeigt wird, bevor die Erfassung ausgeführt wird voraus. Diese Techniken können verwendet werden, wenn Sie Screenshots von Webseiten machen oder HTML konvertieren into PDFs, Bilder oder Word-Dokumente, und Sie haben ein Premium-Paket. Beide Techniken sind jedoch auf eine maximale Wartezeit von XNUMX Sekunden begrenzt.

Diese Funktionen stehen auch in unserem zur Verfügung Online-Screenshot und Bahnschaber Werkzeuge.

Wie kann ich eine bestimmte Zeit warten, bevor ich ein Capture durchführe?

Geben Sie einfach die Verzögerung in Millisekunden an, und so lange wartet das Capture. Denken Sie daran, dass es in einer Sekunde 1000 Millisekunden gibt. Alle folgenden Beispiele warten drei Sekunden, bevor die Webseite erfasst wird.

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.4.8/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.ashx?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")

Wie kann ich warten, bis ein HTML-Element angezeigt wird, bevor ich ein Capture durchführe?

Diese Technik ist besonders nützlich auf Webseiten, die AJAX-Methoden zum Laden von Inhalten verwenden. Verwenden Sie zuerst die Entwicklertools Ihres Browsers, um das Element zu identifizieren, auf dessen Anzeige Sie warten müssen, notieren Sie sich dessen ID, Klasse oder erstellen Sie eine kompliziertere CSS-Auswahl. Dann geben Sie dies an CSS-Selektor und sobald das Element sichtbar wird, wird die Webseite erfasst. Beachten Sie, dass mehrere übereinstimmende HTML-Elemente angezeigt werden, sobald eines sichtbar ist.

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.4.8/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.ashx?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")