Outils pour capturer et convertir le Web

Comment désactiver les popups inline JavaScript?

Certaines pages Web contiennent des fenêtres contextuelles JavaScript indésirables qui apparaissent dans les captures d'écran générées avec notre Apis et de Outil de capture en ligne. La technique la plus fiable pour masquer ces popups est de spécifier les éléments HTML du popup à masquer. Vous trouverez ci-dessous l'extrait HTML d'une fenêtre contextuelle en ligne que nous souhaitons supprimer.

<div class="ArevicoModal-bg ArevicoModal-iframe" style="display: block;"></div>
<div class="ArevicoModal ArevicoModal-iframe" style="display: block;">
 <div class="ArevicoModal-content">
  <span class="ArevicoModal-close-icon ArevicoModal-close"></span>
  <div id="arvlbdata" style="overflow:visible;width:400px;height:250px;" class="ArevicoModal-inner">
   <h2>Sign up now!!</h2>
  </div>
 </div>
</div>

Par conséquent, pour supprimer cette fenêtre contextuelle, nous devons masquer tous les éléments contextuels qui bloquent la page à l'aide des éléments Sélecteurs CSS. Dans ce cas c'est .ArevicoModal-bg et de .ArevicoModal. Vous pouvez découvrir les éléments HTML que vous devez supprimer en utilisant les outils de développement de votre navigateur Web. Un exemple de masquage du .ArevicoModal-bg et de .ArevicoModal Les éléments HTML sont affichés pour chaque API ci-dessous.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.HideElement = ".ArevicoModal-bg,.ArevicoModal";
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("spacex.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.hideElement(".ArevicoModal-bg,.ArevicoModal");
grabzIt.URLToImage("http://www.spacex.com", options);
grabzIt.SaveTo("spacex.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", 
	{"hide", ".ArevicoModal-bg,.ArevicoModal"}).Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
client.url_to_image("http://www.spacex.com", 
	{"hideElement", ".ArevicoModal-bg,.ArevicoModal"});
client.save_to("spacex.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->hideElement(".ArevicoModal-bg,.ArevicoModal");
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo("spacex.jpg");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItImageOptions();
$options->setHideElement(".ArevicoModal-bg,.ArevicoModal");
$grabzIt->URLToImage("http://www.spacex.com", $options);
$grabzIt->SaveTo("spacex.jpg");
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItImageOptions.GrabzItImageOptions()
options.hideElement = ".ArevicoModal-bg,.ArevicoModal"
grabzIt.URLToImage("http://www.spacex.com", options)
grabzIt.SaveTo("spacex.jpg")
https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=jpg&hide=.ArevicoModal-bg%2C.ArevicoModal&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.hideElement = ".ArevicoModal-bg,.ArevicoModal"
grabzIt.url_to_image("http://www.spacex.com", options)
grabzIt.save_to("spacex.jpg")

Autres techniques

Certaines fenêtres contextuelles sont contrôlées par des cookies. Par conséquent, si vous définissez la valeur de cookie correcte pour ce domaine, la fenêtre contextuelle peut ne plus apparaître. Cela peut être fait manuellement ou automatiquement en activant le comportement des cookies de l'utilisateur mode.

Pour ce faire, visitez la page Web et ouvrez les outils de développement de votre navigateur afin que vous puissiez voir quels cookies sont présents sur la page Web. Fermez maintenant la fenêtre contextuelle. Si un nouveau cookie apparaît, actualisez la page. Si la popup n'apparaît plus, copiez les détails du cookie qui est apparu et ajoutez-le à votre cookies personnalisés. Cependant, ce serait une bonne idée de lui donner une date d'expiration longue, peut-être 10 ans dans le futur, afin que le cookie ne soit pas supprimé.

Une autre solution potentielle consiste à demander des captures à l'aide du moteur de recherche agent utilisateur, en définissant le paramètre "request as". Selon la manière dont le site Web a été rédigé, la fenêtre contextuelle peut ne pas apparaître.