Take a screenshot of open website in python script
Question: I need to write a python script which opens a website and when the website is
completly opened it takes a screenshot of the opened website.

I wrote sth like this:

    
    
    import webbrowser
    import wx
    
    wx.App()
    link = "http://stackoverflow.com/questions"
    webbrowser.get('firefox %s').open_new_tab(link)
    screen = wx.ScreenDC()
    size = screen.GetSize()
    bmp = wx.EmptyBitmap(size[0], size[1])
    mem = wx.MemoryDC(bmp)
    mem.Blit(0, 0, size[0], size[1], screen, 0, 0)
    del mem
    bmp.SaveFile('screenshot.png', wx.BITMAP_TYPE_PNG)
    

It only opens a new tab in firefox but it doesnt take a screenshot of it :(

I want the solution to be cross-platform. Thanks for any help:)

**EDIT:**

**The main problem here is that the script musnt take a picture BEFORE my
webpage is completly opened. How to solve that issue?**


Answer: I believe that you need different solutions for different operating systems.
Use [`sys.platform`](http://docs.python.org/library/sys.html#sys.platform) to
find out on which platform you are on. The rest you have to figure out
yourself, but a quick internet search revealed:

  * On Linux systems, you can then take a screenshot as described here:

[Take a screenshot via a python script.
[Linux]](http://stackoverflow.com/questions/69645/take-a-screenshot-via-a-
python-script-linux)

  * On Windows systems, you can base your solution on this answer:

[Fastest way to take a screenshot with python on
windows](http://stackoverflow.com/questions/3586046/fastest-way-to-take-a-
screenshot-with-python-on-windows)

  * On Mac systems, this will help:

[Take screenshot in Python on Mac OS
X](http://stackoverflow.com/questions/4524723/take-screenshot-in-python-on-
mac-os-x)

