某些網頁可能需要一段時間才能加載或包含您想要的特定內容 int預計可能會在主頁加載後加載。 在內容通過 JavaScript 加載的 AJAX 密集型網頁上尤其如此。
GrabzIt 檢測網頁何時加載,但對於上面列出的某些特定情況,它需要一些額外的指令,這些指令應在捕獲之前使用,或者在捕獲之前等待指定的 HTML 元素出現。先。 如果您要截取網頁屏幕截圖或轉換 HTML,則可以使用這些技術 into PDF、圖像或 Word 文檔,您將獲得高級套餐。 然而,這兩種技術的最長等待時間都限制為三十秒。
最好不要使用太大的延遲,因為在捕獲排隊的異常情況下,大的延遲會降低捕獲優先級,儘管有一些 巧妙的解決方法 對此。
只需指定以毫秒為單位的延遲,這就是捕獲將等待的時間。 請記住,一秒有 1000 毫秒。 以下所有示例在捕獲網頁之前都會等待三秒鐘。
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")
此技術對於使用 AJAX 方法加載內容的網頁特別有用。 首先使用瀏覽器的開發工具來識別需要等待出現的元素,記下其 id、類或製作更複雜的 CSS 選擇器。 然後指定這個 CSS選擇器 一旦元素變得可見,網頁就會被捕獲。 請注意,如果有多個匹配的 HTML 元素,只要有一個元素可見,它就會立即出現。
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 元素出現,然後在創建捕獲之前再等待一段時間。