1

I am using python version 3.9. I have a code that repeats the same tests using a "While" loop.

async def pars():
    site_ad = "my_link"
    msg = ''
    new_mass_for_mes = []
    try:
        launcher.defaultArgs().remove("--enable-automation")
        browser = await launch({"headless": False,"userDataDir":"./tool/pyppeteer", "args": ["--no-sandbox", '--disable-setuid-sandbox',"--start-maximized","--disable-infobars","--disable-dev-shm-usage"]})
        page = await browser.newPage()
        await stealth(page)
        await page.goto(site_ad,{'timeout': 15000})
        ...
        await page.waitFor(3000)
        await page.close()
        await browser.close()
    except Exception as e:
        try:
            try:
                await page.close()
            except:
                pass
            try:
                await browser.disconnect()
            except:
                pass
            await browser.close()
        except:
            pass
        logging.error("Error params {0} at {1}".format(site_ad, datetime.datetime.now()))
        logging.error(e)

The code works, but if an error occurred and the browser did not close, then the next time the program will stop at the moment "browser = await launch". enter image description here The error may also occur when ""headless": True". So far, I have only come up with checking for the existence of the "pyppeteer" process before opening the browser and killing if it exists.

Benjamin Bannier
  • 55,163
  • 11
  • 60
  • 80

0 Answers0