Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

使用pyppeteer截图

pip install pyppeteer

需要修改 connnection.py, 默认20s会关闭窗口

self._ws = websockets.client.connect(
            self._url, max_size=None, loop=self._loop, ping_interval=None, ping_timeout=None)

提示:

[0505/060845.882080:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported.

参考:http://wyq.me/{:target="_blank"}

修改lancher.py

self.chrome_args.extend([
                '--headless',
                '--disable-gpu',
                '--hide-scrollbars',
                '--mute-audio',
                '--no-sandbox',
            ])

Linux 下首次使用pypeteer, 提示urllib3 ssl错误, 可修改 chrimium_downloader.py

import certifi

def download_zip(url: str) -> BytesIO:
    """Download data from url."""
    logger.warning('start chromium download.\n'
                   'Download may take a few minutes.')

    # disable warnings so that we don't need a cert.
    # see https://urllib3.readthedocs.io/en/latest/advanced-usage.html for more
    urllib3.disable_warnings()

    with urllib3.PoolManager(cert_reqs='CERT_REQUIRED',
                             ca_certs=certifi.where()) as http:

也可以自行下载对应版本的chromium

根据以下代码, 获取安装路径和版本号:

from pyppeteer import __chromium_revision__, __pyppeteer_home__
from pathlib import Path
import os

DOWNLOADS_FOLDER = Path(__pyppeteer_home__) / 'local-chromium'

REVISION = os.environ.get('PYPPETEER_CHROMIUM_REVISION', __chromium_revision__)

print(DOWNLOADS_FOLDER)

print(REVISION)