Outils pour capturer et convertir le Web

Comment attendre le chargement d’une page Web avant d’effectuer une capture?

Un élément sur une page Web se chargeant après le contenu principal

Certaines pages Web peuvent prendre un certain temps à se charger ou avoir un contenu spécifique que vous recherchez. intVous y êtes intéressé et cela peut se charger après le chargement de la page principale. Cela est particulièrement vrai sur les pages Web lourdes AJAX où le contenu est chargé via JavaScript.

GrabzIt détecte le chargement d'une page Web, mais pour certaines des circonstances spécifiques énumérées ci-dessus, il a besoin d'instructions supplémentaires sous la forme d'un délai qui doit être utilisé avant la capture ou en attendant qu'un élément HTML spécifié apparaisse avant que la capture ne soit effectuée. devant. Ces techniques peuvent être utilisées si vous prenez des captures d'écran de pages Web ou si vous convertissez du HTML into PDF, images ou documents Word, et vous disposez d'un forfait premium. Toutefois, les deux techniques sont limitées à un temps d'attente maximum de trente secondes.

C'est une bonne idée de ne pas utiliser un délai trop important, car dans le cas inhabituel de captures mises en file d'attente, un délai important réduira la priorité de capture, bien qu'il y ait quelques des solutions intelligentes pour ça.

Ces fonctionnalités sont également disponibles dans notre capture d'écran en ligne et grattoir outils.

Comment attendre un temps déterminé avant d'effectuer une capture ?

Spécifiez simplement le délai en millisecondes et c'est la durée d'attente de la capture. N'oubliez pas qu'il y a 1000 XNUMX millisecondes dans une seconde. Tous les exemples ci-dessous attendent trois secondes avant de capturer la page Web.

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")

Comment attendre qu'un élément HTML apparaisse avant d'effectuer une capture ?

Cette technique est particulièrement utile sur les pages Web qui utilisent des méthodes AJAX pour charger du contenu. Utilisez d’abord les outils de développement de votre navigateur pour identifier l’élément que vous devez attendre pour apparaître, prenez note de son identifiant, de sa classe ou créez un sélecteur CSS plus compliqué. Puis précisez ceci Sélecteur CSS et une fois que l'élément devient visible, la page Web est capturée. Notez que s'il existe plusieurs éléments HTML correspondants, ils apparaîtront dès qu'un seul sera visible.

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")

Cette technique peut être utilisée conjointement avec la méthode de retard mentionnée en premier. Vous permettant d'attendre qu'un élément HTML apparaisse puis d'attendre encore un certain temps avant de créer la capture.