A simple way to take a screenshot of a website by providing its URL. ws-screenshot include a simple web UI but also a REST API and a Websocket API to automate screenshots.
I run your great container to store images of more dynamic iframes to store as loading images. It is a great help. Today after testing the project with a few 100 screenshot requests I was a bit stunned to see that there are a lot of open threats and processes left after processing; the container at the moment has 10 GB of RAM with about ~100 open node servers.
Is one supposed to reset this container every few hours or call a certain API end to free resources?
This is a great tool and I hope you will keep updating it!
We have two issues:
when we screenshot responsive sites, no matter what i put in the resx/resy, it keeps showing the mobile/tablet version of the site , even if I put crazy values
most sites (but easy to check with reddit.com) that care about this kind of blocking see this browser instance as something automated and pop up protection from it; it doesn't really seem to matter from where I shoot the request
Does either of these sound familiar and are there fixes?
I guess a follow up for 2. would be; can we add proxy servers (optional) ?
/root/ws-screenshot/node_modules/@elestio/cloudgate/cloudgate.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
at Function.Module._load (internal/modules/cjs/loader.js:841:27)
at Module.require (internal/modules/cjs/loader.js:1025:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object. (/root/ws-screenshot/API/REST/Screenshot.js:1:19)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Module.require (internal/modules/cjs/loader.js:1025:19)
First of all, thank you for the great project, this is exactly what I was looking for. :)
One feature I miss though is the option to wait a certain amount of time for the screenshot to be taken, even if the web page is already "finished" loading.
There is an option to wait a maximum time in milliseconds, but the SC is also executed here before the time has expired, even though the CSS of my website is not yet displayed correctly.
I have a particular use case that requires me to upload a CA to the cert store of the browser that is taking the screenshot. Is this possible to add in?
If not is their an environment variable similar to the proxy that can be used to ignore cert errors?
Would it be possible to publish arm64 images to Docker for this project? It would be nice for people that are running an M{1,2,3} Macbook and use ARM64 servers (yes, they exist ๐). Thanks!