Python pyppeteer [Fix] ValueError: signal only works in main thread of the main interpreter

masalah ini terjadi karena fungsi signal dan slot yang ada pada pyppteer tidak bisa dijalankan pada sub-thread

signal dan slot hanya bisa berjalan di thread utama maka dari itu error ini muncul

untuk mengatasinya yaitu dengan menonaktifkan fitur signal dan slot yang ada pada pyppeteer, dengan menambahkan kode dibawah ini pada bagian parameter launch

'handleSIGINT': False,
'handleSIGTERM': False,
'handleSIGHUP': False,

 

kode lengkapnya akan terlihat seperti ini

import asyncio
from pyppeteer import launch

async def launch_browser():
    browser = await launch({
        'handleSIGINT': False,
        'handleSIGTERM': False,
        'handleSIGHUP': False,
    })

    page = await browser.newPage()
    await page.goto('https://example.com')

    await asyncio.sleep(1000)
    # Perform actions on the page
    # await browser.close()

asyncio.run(launch_browser())

 

referensi : stackoverflow

Tags:

fix bug