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>&nbsp;&nbsp;[![Join
 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[!
 [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]

Reply via email to