decapitated: Headless 'Chrome' Orchestration

Description Working around headless Chrome & OS security restrictions Important Author(s)

Description

The 'Chrome' browser https://www.google.com/chrome/ has a headless mode which can be instrumented programmatically. Tools are provided to perform headless Chrome' instrumentation on the command-line, including retrieving the javascript-executed web page, PDF output or screen shot of a URL.

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.

Important

You'll need to set an envrionment variable HEADLESS_CHROME to use this package.

If this value is not set, a location heuristic is used on package start which looks for the following depending on the operating system:

If a verification test fails, you will be notified.

It is HIGHLY recommended that you use decapitated::download_chromium() to use a standalone version of Chrome with this packge for your platform.

It's best to use ~/.Renviron to store this value.

Author(s)

Bob Rudis (bob@rud.is)


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