開発環境
OS: macOS Mojave 10.14.5
言語: python 3.7.2
エラーの内容
pyppeteerを使ってheadlessのChromeブラウザを立ち上げ、データフレームに格納されたリンクに順番にジャンプするプログラムを書いた。
csvファイルはこちら
import asyncio
from pyppeteer import launch
import pandas as pd
import time
async def main():
browser = await launch(autoClose=False,headless=False,args=['--no-sandbox'])
page = await browser.newPage()
linkData = pd.read_csv('ファイルのパス',usecols=[1])
print(linkData)
for i, row in linkData.iterrows():
await page.goto(str(row[0]))
time.sleep(1)
await browser.close()
if __name__=='__main__':
asyncio.run(main())
途中でブラウザが閉じてしまい、うまく動かない。
エラーは以下。
pyppeteer.errors.NetworkError: Protocol error Target.sendMessageToTarget: Target closed.
解決法
$ pip3 install websockets==6.0 --force-reinstall
どうやらwebsocketがうまく動いていなかったらしいので、version6.0をインストールしたら解決した!
参考
pyppeteer.errors.NetworkError: Protocol error Target.activateTarget: Target closed. #171