@@ -15,27 +15,35 @@ module.exports = ({
15
15
timeout = 30000 ,
16
16
...launchOpts
17
17
} = { } ) => {
18
- const browser = puppeteer . launch ( {
19
- ignoreHTTPSErrors : true ,
20
- args : [
21
- '--disable-notifications' ,
22
- '--disable-offer-store-unmasked-wallet-cards' ,
23
- '--disable-offer-upload-credit-cards' ,
24
- '--disable-setuid-sandbox' ,
25
- '--enable-async-dns' ,
26
- '--enable-simple-cache-backend' ,
27
- '--enable-tcp-fast-open' ,
28
- '--media-cache-size=33554432' ,
29
- '--no-default-browser-check' ,
30
- '--no-pings' ,
31
- '--no-sandbox' ,
32
- '--no-zygote' ,
33
- '--prerender-from-omnibox=disabled'
34
- ] ,
35
- ...launchOpts
36
- } )
37
-
38
- const newPage = ( ) =>
18
+ const createBrowser = async ( ) => {
19
+ const browser = await puppeteer . launch ( {
20
+ ignoreHTTPSErrors : true ,
21
+ args : [
22
+ '--disable-notifications' ,
23
+ '--disable-offer-store-unmasked-wallet-cards' ,
24
+ '--disable-offer-upload-credit-cards' ,
25
+ '--disable-setuid-sandbox' ,
26
+ '--enable-async-dns' ,
27
+ '--enable-simple-cache-backend' ,
28
+ '--enable-tcp-fast-open' ,
29
+ '--media-cache-size=33554432' ,
30
+ '--no-default-browser-check' ,
31
+ '--no-pings' ,
32
+ '--no-sandbox' ,
33
+ '--no-zygote' ,
34
+ '--prerender-from-omnibox=disabled'
35
+ ] ,
36
+ ...launchOpts
37
+ } )
38
+
39
+ browser . on ( 'disconnected' , createBrowser )
40
+
41
+ return browser
42
+ }
43
+
44
+ const browser = createBrowser ( )
45
+
46
+ const createPage = ( ) =>
39
47
Promise . resolve ( browser ) . then ( async browser => {
40
48
const context = incognito ? await browser . createIncognitoBrowserContext ( ) : browser
41
49
const page = await context . newPage ( )
@@ -44,7 +52,7 @@ module.exports = ({
44
52
} )
45
53
46
54
const wrapError = fn => async ( ...args ) => {
47
- const page = await newPage ( )
55
+ const page = await createPage ( )
48
56
let error
49
57
let res
50
58
@@ -76,7 +84,7 @@ module.exports = ({
76
84
evaluate,
77
85
pdf,
78
86
screenshot,
79
- page : newPage ,
87
+ page : createPage ,
80
88
goto
81
89
}
82
90
}
0 commit comments