@browserless/screenshot 9.4.1 → 9.5.4-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/index.js +6 -3
- package/src/pretty/index.js +2 -2
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@browserless/screenshot",
|
|
3
3
|
"description": "Take a clean screenshot of any website",
|
|
4
4
|
"homepage": "https://browserless.js.org/#/?id=screenshoturl-options",
|
|
5
|
-
"version": "9.4.
|
|
5
|
+
"version": "9.5.4-alpha.0",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"author": {
|
|
8
8
|
"email": "hello@microlink.io",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
"screenshot"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@browserless/goto": "^9.
|
|
31
|
+
"@browserless/goto": "^9.5.0",
|
|
32
32
|
"debug-logfmt": "~1.0.4",
|
|
33
33
|
"got": "~11.8.5",
|
|
34
34
|
"is-html-content": "~1.0.0",
|
|
35
35
|
"is-url-http": "~2.3.2",
|
|
36
36
|
"jimp": "~0.16.1",
|
|
37
37
|
"map-values-deep": "~1.0.2",
|
|
38
|
-
"mime
|
|
38
|
+
"mime": "~3.0.0",
|
|
39
39
|
"p-reflect": "~2.1.0",
|
|
40
40
|
"pretty-ms": "~7.0.1",
|
|
41
41
|
"prism-themes": "~1.9.0",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"test": "ava"
|
|
60
60
|
},
|
|
61
61
|
"license": "MIT",
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "5e8ab0b6bbf495acdae28a1ea9a6e97ecfba25ba"
|
|
63
63
|
}
|
package/src/index.js
CHANGED
|
@@ -76,11 +76,11 @@ module.exports = ({ goto, ...gotoOpts }) => {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
const takeScreenshot = async opts => {
|
|
79
|
-
screenshot = await page.screenshot(opts)
|
|
79
|
+
screenshot = await page.bringToFront().then(() => page.screenshot(opts))
|
|
80
80
|
const isWhite = await isWhiteScreenshot(screenshot)
|
|
81
81
|
if (isWhite) {
|
|
82
82
|
await goto.waitUntilAuto(page, opts)
|
|
83
|
-
screenshot = await page.screenshot(opts)
|
|
83
|
+
screenshot = await page.bringToFront().then(() => page.screenshot(opts))
|
|
84
84
|
}
|
|
85
85
|
return { isWhite }
|
|
86
86
|
}
|
|
@@ -95,7 +95,10 @@ module.exports = ({ goto, ...gotoOpts }) => {
|
|
|
95
95
|
waitForElement(page, element),
|
|
96
96
|
beforeScreenshot(response)
|
|
97
97
|
])
|
|
98
|
-
|
|
98
|
+
|
|
99
|
+
screenshot = await page
|
|
100
|
+
.bringToFront()
|
|
101
|
+
.then(() => page.screenshot({ ...opts, ...screenshotOpts }))
|
|
99
102
|
debug('screenshot', { waitUntil, duration: prettyMs(timeScreenshot()) })
|
|
100
103
|
} else {
|
|
101
104
|
;({ response } = await goto(page, { ...opts, url, waitUntilAuto }))
|
package/src/pretty/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const debug = require('debug-logfmt')('browserless:screenshot')
|
|
4
4
|
const isHtmlContent = require('is-html-content')
|
|
5
5
|
const { readFile } = require('fs').promises
|
|
6
|
-
const {
|
|
6
|
+
const { getExtension } = require('mime')
|
|
7
7
|
const prettyMs = require('pretty-ms')
|
|
8
8
|
const timeSpan = require('time-span')
|
|
9
9
|
const path = require('path')
|
|
@@ -17,7 +17,7 @@ const PRETTY_CONTENT_TYPES = ['json', 'text', 'html']
|
|
|
17
17
|
const { inject } = require('@browserless/goto')
|
|
18
18
|
|
|
19
19
|
const getContentType = headers => {
|
|
20
|
-
const contentType =
|
|
20
|
+
const contentType = getExtension(headers['content-type'])
|
|
21
21
|
return contentType === 'txt' ? 'text' : contentType
|
|
22
22
|
}
|
|
23
23
|
|