首先启动Headless Chrome

可以使用Docker 来启动

docker run -it --rm --name alpine-chrome -p 9222:9222 einverne/alpine-chrome

启动之后可以访问: http://localhost:9222/json 来查看是否启动成功。

安装pychrome模块

pip install -U pychrome

代码

import pychrome
import base64
def screenshot(browser, url, filename):
    tab = browser.new_tab()
    tab.start()
    tab.call_method('Page.navigate', url=url, _timeout=5)
    tab.wait(10)
    screen_base64 = tab.call_method("Page.captureScreenshot")
    image_data = screen_base64.get('data', '')
    with open(filename, 'wb') as f:
        f.write(base64.b64decode(image_data))
    tab.stop()
    browser.close_tab(tab)
if __name__ == '__main__':
    browser = pychrome.Browser(url="http://127.0.0.1:9222")
    screenshot(browser, 'http://baidu.com', 'filename.png')