Compare commits

..

15 Commits

Author SHA1 Message Date
0190f1bb77 1.0.26 2021-08-17 15:22:10 +02:00
87d7460183 fix(core): update 2021-08-17 15:22:10 +02:00
ed1522062e 1.0.25 2021-08-17 12:20:54 +02:00
116f700d5c fix(core): update 2021-08-17 12:20:54 +02:00
366a033904 1.0.24 2021-08-17 02:53:34 +02:00
5f1f4b3c53 fix(core): update 2021-08-17 02:53:34 +02:00
255bd7046e 1.0.23 2021-08-17 02:51:24 +02:00
bb82845f27 1.0.22 2021-08-17 02:50:49 +02:00
8ec23ba414 fix(core): update 2021-08-17 02:50:49 +02:00
937605f8c1 1.0.21 2021-01-12 14:41:45 +00:00
f05c2226c5 fix(core): update 2021-01-12 14:41:44 +00:00
1d2eca0991 1.0.20 2021-01-12 14:24:22 +00:00
c91f77a0d4 fix(core): update 2021-01-12 14:24:21 +00:00
d94826a7b7 1.0.19 2021-01-08 21:53:18 +00:00
636f0580c6 fix(core): update 2021-01-08 21:53:17 +00:00
6 changed files with 17942 additions and 3393 deletions

21277
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartpuppeteer", "name": "@pushrocks/smartpuppeteer",
"version": "1.0.18", "version": "1.0.26",
"private": false, "private": false,
"description": "simplified access to puppeteer", "description": "simplified access to puppeteer",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
@@ -13,18 +13,18 @@
"format": "(gitzone format)" "format": "(gitzone format)"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.25", "@gitzone/tsbuild": "^2.1.26",
"@gitzone/tstest": "^1.0.52", "@gitzone/tstest": "^1.0.54",
"@pushrocks/tapbundle": "^3.2.9", "@pushrocks/tapbundle": "^3.2.14",
"@types/node": "^14.14.20", "@types/node": "^16.6.1",
"tslint": "^6.1.3", "tslint": "^6.1.3",
"tslint-config-prettier": "^1.15.0" "tslint-config-prettier": "^1.15.0"
}, },
"dependencies": { "dependencies": {
"@pushrocks/smartdelay": "^2.0.10", "@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartenv": "^4.0.16", "@pushrocks/smartenv": "^4.0.16",
"@types/puppeteer": "^5.4.2", "puppeteer": "^10.2.0",
"puppeteer": "^5.5.0" "tree-kill": "^1.2.2"
}, },
"files": [ "files": [
"ts/**/*", "ts/**/*",

View File

@@ -5,7 +5,15 @@ tap.test('first test', async (tools) => {
const headlessBrowser = await smartpuppeteer.getEnvAwareBrowserInstance({ const headlessBrowser = await smartpuppeteer.getEnvAwareBrowserInstance({
forceNoSandbox: true, forceNoSandbox: true,
}); });
const page = await headlessBrowser.newPage();
await headlessBrowser.close(); await headlessBrowser.close();
}); });
tap.test('should get and stop an Incognito browser', async () => {
const incognitoInstance = new smartpuppeteer.IncognitoBrowser();
await incognitoInstance.start();
const page = await incognitoInstance.browser.newPage();
await incognitoInstance.stop();
})
tap.start(); tap.start();

View File

@@ -13,7 +13,7 @@ export class IncognitoBrowser {
public async start() { public async start() {
this.status = 'started'; this.status = 'started';
this.browser = await getEnvAwareBrowserInstance(); this.browser = await getEnvAwareBrowserInstance();
this.browser.addListener('disconnected', async (eventArg) => { this.browser.on('disconnected', async (eventArg) => {
try { try {
this.browser.removeAllListeners(); this.browser.removeAllListeners();
} catch (err) {} } catch (err) {}
@@ -28,6 +28,16 @@ export class IncognitoBrowser {
*/ */
public async stop() { public async stop() {
this.status = 'stopped'; this.status = 'stopped';
plugins.treeKill(this.browser.process().pid);
await this.browser.close();
}
/**
* rotate
*/
public async rotateBrowser () {
this.browser.close().catch();
this.browser = await getEnvAwareBrowserInstance();
} }
public async getNewIncognitoContext(): Promise<plugins.puppeteer.BrowserContext> { public async getNewIncognitoContext(): Promise<plugins.puppeteer.BrowserContext> {

View File

@@ -25,6 +25,7 @@ export const getEnvAwareBrowserInstance = async (
console.log(chromeArgs); console.log(chromeArgs);
headlessBrowser = await plugins.puppeteer.launch({ headlessBrowser = await plugins.puppeteer.launch({
args: chromeArgs, args: chromeArgs,
pipe: true
}); });
return headlessBrowser; return headlessBrowser;

View File

@@ -11,5 +11,6 @@ export { smartdelay, smartenv };
// third party scope // third party scope
import puppeteer from 'puppeteer'; import puppeteer from 'puppeteer';
import treeKill from 'tree-kill';
export { puppeteer }; export { puppeteer, treeKill };