1

pyppeteerを使用して python で小さなプログラムを作成しました。私の Windows コンピュータでは正常に動作しますが、Unix ベースのシステムで実行しようとすると動作しませんでした。最小限の再現可能な例を次に示します。

import asyncio
from pyppeteer import launch

async def main():
    browser = await launch(headless=True)
    page = await browser.newPage()
    await page.goto('http://www.example.com')
    print(await page.content(), flush=True)

asyncio.get_event_loop().run_until_complete(main())

Windows では期待どおりに動作し、HTML ページを返します。Unix では、約 35 秒間何も起こらないと、次のエラーが表示されます。

Traceback (most recent call last):
  File "pyppeteerTest.py", line 10, in <module>
    asyncio.get_event_loop().run_until_complete(main())
  File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete
    return future.result()
  File "pyppeteerTest.py", line 5, in main
    browser = await launch(headless=True)
  File "/home/thatcoolcoder/.local/lib/python3.6/site-packages/pyppeteer/launcher.py", line 306, in launch
    return await Launcher(options, **kwargs).launch()
  File "/home/thatcoolcoder/.local/lib/python3.6/site-packages/pyppeteer/launcher.py", line 167, in launch
    self.browserWSEndpoint = get_ws_endpoint(self.url)
  File "/home/thatcoolcoder/.local/lib/python3.6/site-packages/pyppeteer/launcher.py", line 226, in get_ws_endpoint
    raise BrowserError('Browser closed unexpectedly:\n')
pyppeteer.errors.BrowserError: Browser closed unexpectedly:

Windows で python 3.8.2 を、Unix で python 3.6.9 を実行していますが、それが問題であるとは思えません。この回答のコメントで提案されている修正を試みましたが、何も変わりませんでした。

4

1 に答える 1