--- output: rmarkdown::github_document --- # decapitated Headless 'Chrome' Orchestration ## Description The 'Chrome' browser 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. ### IMPORTANT You'll need to set an envrionment variable `HEADLESS_CHROME` to one of these two values: - Windows(32bit): `C:/Program Files/Google/Chrome/Application/chrome.exe` - Windows(64bit): `C:/Program Files (x86)/Google/Chrome/Application/chrome.exe` - macOS: `/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome` - Linux: `/usr/bin/google-chrome` A guess is made (but not verified yet) if `HEADLESS_CHROME` is non-existent. It's best to use `~/.Renviron` to store this value for the time being. ## What's in the tin? The following functions are implemented: - `chrome_dump_pdf`: "Print" to PDF - `chrome_read_html`: Read a URL via headless Chrome and return the raw or rendered '' 'innerHTML' DOM elements - `chrome_shot`: Capture a screenshot - `chrome_version`: Get Chrome version - `get_chrome_env`: get an envrionment variable 'HEADLESS_CHROME' - `set_chrome_env`: set an envrionment variable 'HEADLESS_CHROME' ## Installation ```{r eval=FALSE} devtools::install_github("hrbrmstr/decapitated") ``` ```{r message=FALSE, warning=FALSE, error=FALSE, include=FALSE} options(width=120) ``` ## Usage ```{r message=FALSE, warning=FALSE, error=FALSE} library(decapitated) # current verison packageVersion("decapitated") chrome_version() chrome_read_html("http://httpbin.org/") ``` ```{r eval=FALSE, message=FALSE, warning=FALSE, error=FALSE} chrome_dump_pdf("http://httpbin.org/") ``` ```{r message=FALSE, warning=FALSE, error=FALSE, eval=FALSE} chrome_shot("http://httpbin.org/") ## format width height colorspace filesize ## 1 PNG 1600 1200 sRGB 215680 ``` ![screenshot.png](screenshot.png)