Herramientas para capturar y convertir la web

¿Cómo esperar a que se cargue una página web antes de realizar una captura?

Un elemento en una página web que se carga después del contenido principal.

Algunas páginas web pueden tardar un poco en cargarse o tener contenido específico que usted intEstás interesado en que pueda cargarse después de que se haya cargado la página principal. Esto es especialmente cierto en páginas web con mucho contenido AJAX donde el contenido se carga a través de JavaScript.

GrabzIt detecta cuándo se carga una página web, pero para algunas de las circunstancias específicas enumeradas anteriormente, necesita algunas instrucciones adicionales en forma de un retraso que debe usarse antes de realizar la captura o esperando a que aparezca un elemento HTML específico antes de que se realice la captura. adelante. Estas técnicas se pueden utilizar si está tomando capturas de pantalla de páginas web o convirtiendo HTML into PDF's, imágenes o documentos de Word, y tienes un paquete premium. Sin embargo, ambas técnicas están limitadas a un tiempo de espera máximo de treinta segundos.

Es una buena idea no utilizar un retraso demasiado grande porque, en el caso inusual de que las capturas estén en cola, un retraso grande reducirá la prioridad de captura, aunque hay algunas soluciones inteligentes a esto.

Estas características también están disponibles en nuestro captura de pantalla en línea y raspador web herramientas.

¿Cómo esperar un tiempo determinado antes de realizar una captura?

Simplemente especifique el retraso en milisegundos y este es el tiempo que esperará la captura. Recuerda que un segundo tiene 1000 milisegundos. Todos los ejemplos siguientes esperan tres segundos antes de capturar la página 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")

¿Cómo esperar a que aparezca un elemento HTML antes de realizar una captura?

Esta técnica es especialmente útil en páginas web que utilizan métodos AJAX para cargar contenido. Primero use las herramientas de desarrollo de su navegador para identificar el elemento que debe esperar para aparecer, tome nota de su identificación, clase o cree un selector CSS más complicado. Entonces especifica esto Selector de CSS y una vez que el elemento se vuelve visible, se captura la página web. Tenga en cuenta que si hay varios elementos HTML coincidentes, aparecerá tan pronto como uno sea 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")

Esta técnica se puede utilizar junto con el método de retraso mencionado primero. Permitiéndole esperar a que aparezca un elemento HTML y luego esperar un período de tiempo adicional antes de crear la captura.