chrome_shot: Capture a screenshot

Description Usage Arguments Value Working around headless Chrome & OS security restrictions Note Examples

View source: R/chrome-shot.r

Description

A magick image object is returned.

Usage

1
2
3
chrome_shot(url, width = NULL, height = NULL, path = NULL,
  overwrite = TRUE, prime = TRUE, work_dir = NULL,
  chrome_bin = Sys.getenv("HEADLESS_CHROME"))

Arguments

url

URL to read from

width, height

screen size to emulate

path

path (with optional output filename) for the generated PDF. If NULL then and overwrite is FALSE, the fuction will will ensure a uniquely-named file is placed in the current working directory by incrementing trailing numbers before the end of it.

overwrite

overwrite existing file? Default: TRUE

prime

if TRUE preliminary URL retrieval requests will be sent to "prime" the headless Chrome cache. This seems to be necessary primarily on recent versions of macOS. If numeric, that number of "prime" requests will be sent ahead of the capture request. If FALSE no priming requests will be sent.

work_dir

See special Section.

chrome_bin

the path to Chrome (auto-set from HEADLESS_CHROME environment variable)

Value

magick

Working around headless Chrome & OS security restrictions

Security restrictions on various operating systems and OS configurations can cause headless Chrome execution to fail. As a result, headless Chrome operations should use a special directory for decapitated package operations. You can pass this in as work_dir. If work_dir is NULL a .rdecapdata directory will be created in your home directory and used for the data, crash dumps and utility directories for Chrome operations.

tempdir() does not always meet these requirements (after testing on various macOS 10.13 systems) as Chrome does some interesting attribute setting for some of its file operations.
If you pass in a work_dir, it must be one that does not violate OS security restrictions or headless Chrome will not function.

Note

The default Chrome filename is screenshot.png

Examples

1
chrome_shot("https://www.r-project.org/logo/Rlogo.svg")

hrbrmstr/decapitated documentation built on Aug. 2, 2019, 8:42 p.m.