某些网页可能需要一段时间才能加载或包含您想要的特定内容 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 元素出现,然后在创建捕获之前再等待一段时间。