Selenium is the first one that comes to mind. I think most of the big browser automation toolkits should have the ability to do screenshots in some capacity.
SeleniumBase has a feature that looks at markup and which stores screenshots for visual comparison to a set baseline: https://seleniumbase.io/examples/visual_testing/ReadMe/
Found this blog describing use of SeleniumBase for that and OpenCV for screenshot comparison as another layer: https://blog.streamlit.io/testing-streamlit-apps-using-selen...