Chromeless provides TypeScrip typings.
Chromeless methods
Chrome methods
goto(url: string)
click(selector: string)
wait(timeout: number)
wait(selector: string)
wait(fn: (...args: any[]) => boolean, ...args: any[])
focus(selector: string)
press(keyCode: number, count?: number, modifiers?: any)
type(input: string, selector?: string)
back()
- Not implemented yetforward()
- Not implemented yetrefresh()
- Not implemented yetmousedown()
- Not implemented yetmouseup()
- Not implemented yetscrollTo(x: number, y: number)
viewport(width: number, height: number)
evaluate<U extends any>(fn: (...args: any[]) => void, ...args: any[])
inputValue(selector: string)
exists(selector: string)
screenshot()
pdf()
- Not implemented yetcookiesGet()
cookiesGet(name: string)
cookiesGet(query: CookieQuery)
- Not implemented yetcookiesGetAll()
cookiesSet(name: string, value: string)
cookiesSet(cookie: Cookie)
cookiesSet(cookies: Cookie[])
cookiesClear(name: string)
cookiesClearAll()
End the Chromeless session. Locally this will disconnect from Chrome. Over the Proxy, this will end the session, terminating the Lambda function.
await chromeless.end()
Navigate to a URL.
Arguments
url
- URL to navigate to
Example
await chromeless.goto('https://google.com/')
Click on something in the DOM.
Arguments
selector
- DOM selector for element to click
Example
await chromeless.click('#button')
Wait for some duration. Useful for waiting for things download.
Arguments
timeout
- How long to wait, in ms
Example
await chromeless.wait(1000)
Wait until something appears. Useful for waiting for things to render.
Arguments
selector
- DOM selector to wait for
Example
await chromeless.wait('div#loaded')
Wait until a function returns.
Arguments
fn
- Function to wait for[arguments]
- Arguments to pass to the function
Example
await chromeless.wait(() => { return console.log('@TODO: put a better example here') })
Provide focus on a DOM element.
Arguments
selector
- DOM selector to focus
Example
await chromeless.focus('input#searchField')
Send a key press. Enter, for example.
Arguments
keyCode
- Key code to sendcount
- How many times to send the key pressmodifiers
- Modifiers to send along with the press (e.g. control, command, or alt)
Example
await chromeless.press(13)
Type something (into a field, for example).
Arguments
input
- String to typeselector
- DOM element to type into
Example
const result = await chromeless
.goto('https://www.google.com')
.type('chromeless', 'input[name="q"]')
Not implemented yet
Not implemented yet
Not implemented yet
Not implemented yet
Not implemented yet
Scroll to somewhere in the document.
Arguments
x
- Offset from top of the documenty
- Offset from the left of the document
Example
await chromeless.scrollTo(500, 0)
Resize the viewport. Useful if you want to capture more or less of the document in a screenshot.
Arguments
width
- Viewport widthheight
- Viewport height
Example
await chromeless.viewport(1024, 800)
Evaluate Javascript code within Chrome in the context of the DOM.
Arguments
fn
- Function to evaluate within Chrome[arguments]
- Arguments to pass to the function
Example
await chromeless.evaluate(() => {
// this will be executed in Chrome
const links = [].map.call(
document.querySelectorAll('.g h3 a'),
a => ({title: a.innerText, href: a.href})
)
return JSON.stringify(links)
})
Get the value of an input field.
Arguments
selector
- DOM input element
Example
await chromeless.inputValue('input#searchField')
Test if a DOM element exists in the document.
Arguments
selector
- DOM element to check for
Example
await chromeless.exists('div#ready')
Take a screenshot of the document as framed by the viewport. When running Chromeless locally this returns the local file path to the screenshot image. When run over the Chromeless Proxy service, a URL to the screenshot on S3 is returned.
Example
const screenshot = await chromeless
.goto('https://google.com/')
.screenshot()
console.log(screenshot) // prints local file path or S3 URL
Not implemented yet
Returns all browser cookies for the current URL.
Example
await chromeless.cookiesGet()
Returns a specific browser cookie by name for the current URL.
Arguments
name
- Name of the cookie to get
Example
const cookie = await chromeless.cookiesGet('creepyTrackingCookie')
Not implemented yet
Returns all browser cookies. Nam nom nom.
Example
await chromeless.cookiesGetAll()
Sets a cookie with the given name and value.
Arguments
name
- Name of the cookievalue
- Value of the cookie
Example
await chromeless.cookiesSet('visited', '1')
Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.
Arguments
cookie
- The cookie data to set
Example
await chromeless.cookiesSet({
url: 'http://google.com/',
domain: 'google.com',
name: 'userData',
value: '{}',
path: '/',
expires: 0,
size: 0,
httpOnly: false,
secure: true,
session: true,
})
Sets many cookies with the given cookie data; may overwrite equivalent cookies if they exist.
Arguments
url
- URL to navigate to
Example
await chromeless.cookiesSet([
{
url: 'http://google.com/',
domain: 'google.com',
name: 'userData',
value: '{}',
path: '/',
expires: 0,
size: 0,
httpOnly: false,
secure: true,
session: true,
}, {
url: 'http://bing.com/',
domain: 'bing.com',
name: 'userData',
value: '{}',
path: '/',
expires: 0,
size: 0,
httpOnly: false,
secure: true,
session: true,
}
])
Not implemented yet
Clears browser cookies.
Example
await chromeless.cookiesClearAll()