捕獲和轉換Web的工具

如何禁用JavaScript內聯彈出窗口?

某些網頁包含不需要的內聯 JavaScript 彈出窗口,這些彈出窗口出現在我們生成的屏幕截圖中 蜜蜂在線截圖工具。 隱藏這些彈出窗口的最可靠技術是指定要隱藏的彈出窗口的 HTML 元素。 下面是我們要刪除的內聯彈出窗口的 HTML 片段。

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

因此,要刪除此彈出窗口,我們需要使用元素隱藏所有阻止頁面的彈出元素 CSS選擇器。 在這種情況下是 .ArevicoModal-bg.ArevicoModal。 您可以使用網絡瀏覽器的開發人員工具找出需要刪除的 HTML 元素。 隱藏的例子 .ArevicoModal-bg.ArevicoModal 下面顯示了每個 API 的 HTML 元素。

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

其他技術

某些彈出窗口是通過 cookie 控制的,因此,如果您為該域設置了正確的 cookie 值,則彈出窗口可能不再出現。 這可以是 手動完成 或通過啟用自動 用戶cookie行為 模式。

為此,請訪問網頁並打開瀏覽器的開發人員工具功能,以便您可以查看網頁上存在哪些 cookie。 現在關閉彈出窗口。 如果出現新的 cookie,請刷新頁面。 如果彈出窗口不再出現,請複制出現的 cookie 的詳細信息並將其添加到您的 自定義Cookie。 不過,最好給它一個較長的有效期(也許是未來 10 年),這樣 cookie 就不會被刪除。

另一個潛在的解決方案是使用 搜索引擎 用戶代理,通過設置“請求為”參數。 根據網站的編寫方式,可能會導致彈出窗口不出現。