dosubot[bot] commented on issue #33683: URL: https://github.com/apache/superset/issues/33683#issuecomment-2938804739
<!-- Answer --> Apache Superset's current screenshot functionality for reports is limited to capturing only the visible portion of a dashboard or chart, based on a fixed window size. There is no built-in support for capturing long screenshots or scrolling pages—content outside the configured viewport is not included in the screenshot. This applies to both Selenium and Playwright backends, which are orchestrated entirely on the backend in Python. The only available workaround is to increase the viewport/window size in the configuration, but this has practical limitations and does not truly support full-page or long image capture [reference](https://github.com/apache/superset/blob/20519158d2ab6325f7564b16615a99fe0ebe7a38/superset/utils/screenshots.py) [reference](https://github.com/apache/superset/blob/20519158d2ab6325f7564b16615a99fe0ebe7a38/superset/utils/webdriver.py) [reference](https://github.com/apache/superset/blob/20519158d2ab6325f7564b16615a99fe0ebe7a38/superset/config.py). To implement long screenshot capture, you would need to extend the current backend logic to support scrolling and stitching together multiple screenshots. This typically involves programmatically scrolling the page in increments, capturing each viewport, and then combining the resulting images into a single long image. Neither the current Selenium nor Playwright implementations in Superset include this logic. There are no existing issues, discussions, or documentation in the Superset repository that address or provide a solution for long screenshot capture in reports. If you want to pursue this feature, you would need to modify the screenshot capture logic in the backend (primarily in `superset/utils/screenshots.py` and `superset/utils/webdriver.py`) to add scrolling and image stitching capabilities. This would likely require custom scripting with the web driver to scroll through the page and capture each segment, then use an image processing library (such as PIL/Pillow) to stitch the images together. <!-- Dosu Comment Footer --> *To reply, just mention my name [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/b12dbd0b-8e9f-4f7f-a83b-366d80b17e1e?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/b12dbd0b-8e9f-4f7f-a83b-366d80b17e1e?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/b12dbd0b-8e9f-4f7f-a83b-366d80b17e1e?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/b12dbd0b-8e9f-4f7f-a83b-366d80b17e1e?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/b12dbd0b-8e9f-4f7f-a83b-366d80b17e1e?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/b12dbd0b-8e9f-4f7f-a83b-366d80b17e1e?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/b12dbd0b-8e9f-4f7f-a83b-366d80b17e1e?feedback_type=other)</sup> [](https://go.dosu.dev/discord-bot) [! [Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/33683) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
