Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(plugin-user-data-dir): Use onDisconnect instead of onClose #530

Merged
merged 1 commit into from
Sep 17, 2021

Commits on Jul 23, 2021

  1. fix freeze application

    this cause by browser.close() event
    missing "onDisconnected" event will make application freeze
    
    And can't use "onClose" because it's make freeze too
    * **Deprecated:** Since puppeteer v1.6.0 `onDisconnected` has been improved
       * and should be used instead of `onClose`.
       *
       * In puppeteer < v1.6.0 `onDisconnected` was not catching all exit scenarios.
    
    also relate problem has mention it'
    pluginStealth.enabledEvasions.delete('user-agent-override');
    
    I test fixed by this code
    ```
    const express = require('express'); // Adding Express
    const crypto = require('crypto');
    const app = express(); // Initializing Express
    var bodyParser = require('body-parser');
    app.use(bodyParser.urlencoded({ extended: false }));
    const puppeteer = require('puppeteer-extra'); // Adding Puppeteer
    const pluginStealth = require('puppeteer-extra-plugin-stealth')();
    puppeteer.use(pluginStealth);
    
    const app_dir = __dirname;
    
    const PORT_USAGE = '8017';
    var url_target = "https://google.com";
    var gname = "test_session";
    app.get('/', function(req, res) {
    	;(async () => {
      // Launch the browser in headless mode and set up a page.
    		puppeteer.launch(
    		{
    			args: ['--no-sandbox', '--disable-setuid-sandbox'],
    			ignoreHTTPSErrors: true,
    			/*executablePath: '/usr/bin/chromium-browser',*/
    			dumpio: false,
    			headless: true,
    			userDataDir: app_dir + "/cookies_" + gname + ".cookie",
    		}
    		).then(async function(browser) {
    			const page = await browser.newPage();
    			await page.setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36");
    			await page.goto(url_target,{
    				waitUntil: "networkidle2",
    				timeout: 10 * 1000
    			});
    
    			await page.setRequestInterception(true);
    			await browser.close();
    			res.json({ status:process.pid })
    			return res.end();
    
    		});
    })()
    
    });
    app.listen(8017, '127.0.0.1', function() {
    	console.log(new Date().toString(),'Running on port ' + PORT_USAGE);
    });
    ```
    
    It can close application without force killing
    
    Update index.js
    
    3252d5c
    
    maybe not need onDisconnected event handle in this file
    dev-hyperweb committed Jul 23, 2021
    Configuration menu
    Copy the full SHA
    35a85d2 View commit details
    Browse the repository at this point in the history