簡體   English   中英

如何使用 JXBrowser 捕獲特定元素而不是整個頁面的屏幕截圖?

[英]How to capture the screenshot of a specific element rather than entire page using JXBrowser?

我想要的只是捕獲頁面的一部分,或者可能只是基於 ID 或任何特定元素定位器的特定元素。 (例如,我希望捕獲圖像 id ="logo" 的圖片)

有沒有辦法按選定的項目或元素捕獲屏幕截圖?

            Browser browser = new Browser();
            BrowserView view = new BrowserView(browser);
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.add(view, BorderLayout.CENTER);
            frame.setSize(700, 500);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
            browser.loadURL("https://cafemmo.club/");
            TimeUnit.SECONDS.sleep(10);

browser.getDocument().findElement(By.cssSelector("#logo"));

沒有 API 可以在一次調用中完成。 但以下方法應該有效:

  1. 拍攝整個頁面的快照。 這在這里描述: https : //jxbrowser-support.teamdev.com/docs/6/guides/content.html# Saving-web-page-to-png

  2. 獲取頁面內部元素的邊界,並手動將該區域從元素中剪切出來。 以下是獲取邊界的方法: https : //jxbrowser-support.teamdev.com/docs/6/guides/dom.html#getting-element-bounds

如果您使用的是 JxBrowser 7,他們已經引入了 API 來獲取<img>標簽中圖像的原始字節: https : //jxbrowser-support.teamdev.com/javadoc/7.21/com/teamdev/jxbrowser/dom /ImageElement.html#contents--

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM