웹 캡처 및 변환 도구

캡처를 수행하기 전에 웹 페이지가로드 될 때까지 기다리는 방법은 무엇입니까?

기본 콘텐츠 이후에 로드되는 웹페이지의 항목

일부 웹페이지는 로드하는 데 시간이 걸리거나 특정 콘텐츠가 있을 수 있습니다. int메인 페이지가 로드된 후에 로드될 수 있도록 설정되어 있습니다. 이는 콘텐츠가 JavaScript를 통해 로드되는 AJAX 무거운 웹 페이지에서 특히 그렇습니다.

GrabzIt은 웹페이지가 로드되는 시기를 감지하지만 위에 나열된 특정 상황 중 일부의 경우 캡처가 수행되기 전에 사용해야 하는 지연 형태의 추가 지침이 필요하거나 캡처가 진행되기 전에 지정된 HTML 요소가 나타날 때까지 기다려야 합니다. 앞으로. 웹페이지의 스크린샷을 찍거나 HTML을 변환하는 경우 이러한 기술을 사용할 수 있습니다. into PDF, 이미지 또는 Word 문서 및 프리미엄 패키지가 있습니다. 그러나 두 기술 모두 최대 대기 시간이 XNUMX초로 제한됩니다.

너무 큰 지연을 사용하지 않는 것이 좋습니다. 캡처가 대기열에 추가되는 비정상적인 상황에서 지연이 크면 캡처 우선 순위가 감소하기 때문입니다. 영리한 해결 방법 이에.

이러한 기능은 당사에서도 사용할 수 있습니다. 온라인 스크린샷웹 스크레이퍼 도구를 제공합니다.

캡처를 수행하기 전에 지정된 시간 동안 기다리는 방법은 무엇입니까?

지연 시간을 밀리초 단위로 지정하면 캡처가 기다리는 시간입니다. 1000초는 XNUMX밀리초라는 것을 기억하세요. 아래의 모든 예는 웹페이지를 캡처하기 전에 XNUMX초를 기다립니다.

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

캡처를 수행하기 전에 HTML 요소가 나타날 때까지 기다리는 방법은 무엇입니까?

이 기술은 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 요소가 나타날 때까지 기다린 다음 캡처를 생성하기 전에 추가 시간 동안 기다릴 수 있습니다.