html

package
v0.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2020 License: Apache-2.0 Imports: 13 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PagingType = core.NewType("paging")

Functions

func AttributeGet added in v0.7.0

func AttributeGet(ctx context.Context, args ...core.Value) (core.Value, error)

ATTR_GET gets single or more attribute(s) of a given element. @param el (HTMLElement) - Target element. @param names (...String) - Attribute name(s). @returns Object - Key-value pairs of attribute values.

func AttributeRemove added in v0.7.0

func AttributeRemove(ctx context.Context, args ...core.Value) (core.Value, error)

ATTR_REMOVE removes single or more attribute(s) of a given element. @param el (HTMLElement) - Target element. @param names (...String) - Attribute name(s).

func AttributeSet added in v0.7.0

func AttributeSet(ctx context.Context, args ...core.Value) (core.Value, error)

ATTR_SET sets or updates a single or more attribute(s) of a given element. @param el (HTMLElement) - Target element. @param nameOrObj (String | Object) - Attribute name or an object representing a key-value pair of attributes. @param value (String) - If a second parameter is a string value, this parameter represent an attribute value.

func Blur added in v0.9.0

func Blur(ctx context.Context, args ...core.Value) (core.Value, error)

BLUR Calls blur on the element. @param target (HTMLPage | HTMLDocument | HTMLElement) - Target node. @param selector (String, optional) - Optional CSS selector.

func Click

func Click(ctx context.Context, args ...core.Value) (core.Value, error)

CLICK dispatches click event on a given element @param source (Open | GetElement) - Event source. @param selectorOrCount (String | Int, optional) - Optional selector or count of clicks. @param count (Int, optional) - Optional count of clicks.

func ClickAll

func ClickAll(ctx context.Context, args ...core.Value) (core.Value, error)

CLICK_ALL dispatches click event on all matched element @param source (Open) - Open. @param selector (String) - Selector. @param count (Int, optional) - Optional count of clicks. @returns (Boolean) - Returns true if matched at least one element.

func CookieDel added in v0.7.0

func CookieDel(ctx context.Context, args ...core.Value) (core.Value, error)

COOKIE_DEL gets a cookie from a given page by name. @param page (HTMLPage) - Target page. @param cookie (...HTTPCookie|String) - Cookie or cookie name to delete.

func CookieGet added in v0.7.0

func CookieGet(ctx context.Context, args ...core.Value) (core.Value, error)

COOKIE_GET gets a cookie from a given page by name. @param page (HTMLPage) - Target page. @param name (String) - Cookie or cookie name to delete.

func CookieSet added in v0.7.0

func CookieSet(ctx context.Context, args ...core.Value) (core.Value, error)

COOKIE_SET sets cookies to a given page @param page (HTMLPage) - Target page. @param cookie... (HTTPCookie) - Target cookies.

func Download added in v0.3.0

func Download(_ context.Context, args ...core.Value) (core.Value, error)

DOWNLOAD downloads a resource from the given GetURL. @param GetURL (String) - GetURL to download. @returns data (Binary) - Returns a base64 encoded string in binary format.

func Element

func Element(ctx context.Context, args ...core.Value) (core.Value, error)

ELEMENT finds an element by a given CSS selector. Returns NONE if element not found. @param docOrEl (HTMLDocument|HTMLElement) - Parent document or element. @param selector (String) - CSS selector. @returns (HTMLElement | None) - Returns an HTMLElement if found, otherwise NONE.

func ElementExists added in v0.6.0

func ElementExists(ctx context.Context, args ...core.Value) (core.Value, error)

ELEMENT_EXISTS returns a boolean value indicating whether there is an element matched by selector. @param docOrEl (HTMLDocument|HTMLNode) - Parent document or element. @param selector (String) - CSS selector. @returns (Boolean) - A boolean value indicating whether there is an element matched by selector.

func Elements

func Elements(ctx context.Context, args ...core.Value) (core.Value, error)

ELEMENTS finds HTML elements by a given CSS selector. Returns an empty array if element not found. @param docOrEl (HTMLDocument|HTMLNode) - Parent document or element. @param selector (String) - CSS selector. @returns (Array) - Returns an array of found HTML element.

func ElementsCount

func ElementsCount(ctx context.Context, args ...core.Value) (core.Value, error)

ELEMENTS_COUNT returns a number of found HTML elements by a given CSS selector. Returns an empty array if element not found. @param docOrEl (HTMLDocument|HTMLNode) - Parent document or element. @param selector (String) - CSS selector. @returns (Int) - A number of found HTML elements by a given CSS selector.

func Focus added in v0.8.0

func Focus(ctx context.Context, args ...core.Value) (core.Value, error)

FOCUS Sets focus on the element. @param target (HTMLPage | HTMLDocument | HTMLElement) - Target node. @param selector (String, optional) - Optional CSS selector.

func GetInnerHTML added in v0.8.0

func GetInnerHTML(ctx context.Context, args ...core.Value) (core.Value, error)

INNER_HTML returns inner HTML string of a given or matched by CSS selector element @param doc (Open|GetElement) - Parent document or element. @param selector (String, optional) - String of CSS selector. @returns (String) - Inner HTML string if an element found, otherwise empty string.

func GetInnerHTMLAll added in v0.8.0

func GetInnerHTMLAll(ctx context.Context, args ...core.Value) (core.Value, error)

INNER_HTML_ALL returns an array of inner HTML strings of matched elements. @param doc (HTMLDocument|HTMLElement) - Parent document or element. @param selector (String) - String of CSS selector. @returns (String) - An array of inner HTML strings if any element found, otherwise empty array.

func GetInnerText added in v0.8.0

func GetInnerText(ctx context.Context, args ...core.Value) (core.Value, error)

INNER_TEXT returns inner text string of a given or matched by CSS selector element @param doc (HTMLDocument|HTMLElement) - Parent document or element. @param selector (String, optional) - String of CSS selector. @returns (String) - Inner text if an element found, otherwise empty string.

func GetInnerTextAll added in v0.8.0

func GetInnerTextAll(ctx context.Context, args ...core.Value) (core.Value, error)

INNER_TEXT_ALL returns an array of inner text of matched elements. @param doc (HTMLDocument|HTMLElement) - Parent document or element. @param selector (String) - String of CSS selector. @returns (String) - An array of inner text if any element found, otherwise empty array.

func Hover added in v0.5.0

func Hover(ctx context.Context, args ...core.Value) (core.Value, error)

HOVER fetches an element with selector, scrolls it into view if needed, and then uses page.mouse to hover over the center of the element. If there's no element matching selector, the method returns an error. @param docOrEl (HTMLDocument|HTMLElement) - Target document or element. @param selector (String, options) - If document is passed, this param must represent an element selector.

func Input

func Input(ctx context.Context, args ...core.Value) (core.Value, error)

INPUT types a value to an underlying input element. @param source (HTMLPage | HTMLDocument | HTMLElement) - Event target. @param valueOrSelector (String) - Selector or a value. @param value (String) - Target value. @param delay (Int, optional) - Target value. @returns (Boolean) - Returns true if an element was found.

func InputClear added in v0.9.0

func InputClear(ctx context.Context, args ...core.Value) (core.Value, error)

INPUT_CLEAR clears a value from an underlying input element. @param source (HTMLPage | HTMLDocument | HTMLElement) - Event target. @param selector (String, options) - Selector.

func MouseMoveXY added in v0.7.0

func MouseMoveXY(ctx context.Context, args ...core.Value) (core.Value, error)

MOUSE moves mouse by given coordinates. @param doc (HTMLDocument) - HTML document. @param x (Int|Float) - X coordinate. @param y (Int|Float) - Y coordinate.

func Navigate(ctx context.Context, args ...core.Value) (core.Value, error)

NAVIGATE navigates a given page to a new resource. The operation blocks the execution until the page gets loaded. Which means there is no need in WAIT_NAVIGATION function. @param page (HTMLPage) - Target page. @param url (String) - Target url to navigate. @param timeout (Int, optional) - Optional timeout. Default is 5000.

func NavigateBack(ctx context.Context, args ...core.Value) (core.Value, error)

NAVIGATE_BACK navigates a given page back within its navigation history. The operation blocks the execution until the page gets loaded. If the history is empty, the function returns FALSE. @param page (HTMLPage) - Target page. @param entry (Int, optional) - Optional value indicating how many pages to skip. Default 1. @param timeout (Int, optional) - Optional timeout. Default is 5000. @returns (Boolean) - Returns TRUE if history exists and the operation succeeded, otherwise FALSE.

func NavigateForward(ctx context.Context, args ...core.Value) (core.Value, error)

NAVIGATE_FORWARD navigates a given page forward within its navigation history. The operation blocks the execution until the page gets loaded. If the history is empty, the function returns FALSE. @param page (HTMLPage) - Target page. @param entry (Int, optional) - Optional value indicating how many pages to skip. Default 1. @param timeout (Int, optional) - Optional timeout. Default is 5000. @returns (Boolean) - Returns TRUE if history exists and the operation succeeded, otherwise FALSE.

func Open added in v0.8.0

func Open(ctx context.Context, args ...core.Value) (core.Value, error)

DOCUMENT opens an HTML page by a given url. By default, loads a page by http call - resulted page does not support any interactions. @param params (Object) - Optional, An object containing the following properties :

		driver (String) - Optional, driver name.
     timeout (Int) - Optional, timeout.
     userAgent (String) - Optional, user agent.
     keepCookies (Boolean) - Optional, boolean value indicating whether to use cookies from previous sessions.
     	i.e. not to open a page in the Incognito mode.
     cookies (HTTPCookies) - Optional, set of HTTP cookies.
     headers (HTTPHeaders) - Optional, HTTP headers.
     viewport (Viewport) - Optional, viewport params.

@returns (HTMLPage) - Returns loaded HTML page.

func OpenOrCastPage added in v0.8.0

func OpenOrCastPage(ctx context.Context, value core.Value) (drivers.HTMLPage, bool, error)

func PDF

func PDF(ctx context.Context, args ...core.Value) (core.Value, error)

PDF prints a PDF of the current page. @param target (HTMLPage|String) - Target page or url. @param params (Object) - Optional, An object containing the following properties :

Landscape (Bool) - Paper orientation. Defaults to false.
DisplayHeaderFooter (Bool) - Display header and footer. Defaults to false.
PrintBackground (Bool) - Print background graphics. Defaults to false.
Scale (Float64) - Scale of the webpage rendering. Defaults to 1.
PaperWidth (Float64) - Paper width in inches. Defaults to 8.5 inches.
PaperHeight (Float64) - Paper height in inches. Defaults to 11 inches.
MarginTop (Float64) - Top margin in inches. Defaults to 1cm (~0.4 inches).
MarginBottom (Float64) - Bottom margin in inches. Defaults to 1cm (~0.4 inches).
MarginLeft (Float64) - Left margin in inches. Defaults to 1cm (~0.4 inches).
MarginRight (Float64) - Right margin in inches. Defaults to 1cm (~0.4 inches).
PageRanges (String) - Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages.
IgnoreInvalidPageRanges (Bool) - to silently ignore invalid but successfully parsed page ranges, such as '3-2'. Defaults to false.
HeaderTemplate (String) - HTML template for the print header. Should be valid HTML markup with following classes used to inject printing values into them: - `date`: formatted print date - `title`: document title - `url`: document location - `pageNumber`: current page number - `totalPages`: total pages in the document For example, `<span class=title></span>` would generate span containing the title.
FooterTemplate (String) - HTML template for the print footer. Should use the same format as the `headerTemplate`.
PreferCSSPageSize (Bool) - Whether or not to prefer page size as defined by css. Defaults to false, in which case the content will be scaled to fit the paper size. *

@returns data (Binary) - Returns a base64 encoded string in binary format.

func Pagination added in v0.5.0

func Pagination(_ context.Context, args ...core.Value) (core.Value, error)

PAGINATION creates an iterator that goes through pages using CSS selector. The iterator starts from the current page i.e. it does not change the page on 1st iteration. That allows you to keep scraping logic inside FOR loop. @param doc (Open) - Target document. @param selector (String) - CSS selector for a pagination on the page.

func Parse added in v0.6.0

func Parse(ctx context.Context, args ...core.Value) (core.Value, error)

PARSE loads an HTML page from a given string or byte array @param params (Object) - Optional, an object containing the following properties :

	driver (String) - Optional, driver name.
     keepCookies (Boolean) - Optional, boolean value indicating whether to use cookies from previous sessions.
     	i.e. not to open a page in the Incognito mode.
     cookies (HTTPCookies) - Optional, set of HTTP cookies.
     headers (HTTPHeaders) - Optional, HTTP headers.
     viewport (Viewport) - Optional, viewport params.

@returns (HTMLPage) - Returns parsed and loaded HTML page.

func RegisterLib added in v0.8.0

func RegisterLib(ns core.Namespace) error

func Screenshot

func Screenshot(ctx context.Context, args ...core.Value) (core.Value, error)

SCREENSHOT takes a screenshot of a given page. @param target (HTMLPage|String) - Target page or url. @param params (Object) - Optional, An object containing the following properties :

x (Float|Int) - Optional, X position of the viewport.
x (Float|Int) - Optional,Y position of the viewport.
width (Float|Int) - Optional, Width of the viewport.
height (Float|Int) - Optional, Height of the viewport.
format (String) - Optional, Either "jpeg" or "png".
quality (Int) - Optional, Quality, in [0, 100], only for jpeg format.

@returns data (Binary) - Returns a base64 encoded string in binary format.

func ScrollBottom added in v0.5.0

func ScrollBottom(ctx context.Context, args ...core.Value) (core.Value, error)

SCROLL_BOTTOM scrolls the document's window to its bottom. @param doc (HTMLDocument) - Target document.

func ScrollInto added in v0.5.0

func ScrollInto(ctx context.Context, args ...core.Value) (core.Value, error)

SCROLL_ELEMENT scrolls an element on. @param docOrEl (HTMLDocument|HTMLElement) - Target document or element. @param selector (String, options) - If document is passed, this param must represent an element selector.

func ScrollTop added in v0.5.0

func ScrollTop(ctx context.Context, args ...core.Value) (core.Value, error)

SCROLL_TOP scrolls the document's window to its top. @param doc (HTMLDocument) - Target document.

func ScrollXY added in v0.7.0

func ScrollXY(ctx context.Context, args ...core.Value) (core.Value, error)

SCROLL scrolls by given coordinates. @param doc (HTMLDocument) - HTML document. @param x (Int|Float) - X coordinate. @param y (Int|Float) - Y coordinate.

func Select added in v0.5.0

func Select(ctx context.Context, args ...core.Value) (core.Value, error)

SELECT selects a value from an underlying select element. @param source (Open | GetElement) - Event target. @param valueOrSelector (String | Array<String>) - Selector or a an array of strings as a value. @param value (Array<String) - Target value. Optional. @returns (Array<String>) - Returns an array of selected values.

func SetInnerHTML added in v0.8.0

func SetInnerHTML(ctx context.Context, args ...core.Value) (core.Value, error)

INNER_HTML_SET sets inner HTML string to a given or matched by CSS selector element @param doc (Open|GetElement) - Parent document or element. @param selector (String, optional) - String of CSS selector. @param innerHTML (String) - String of inner HTML.

func SetInnerText added in v0.8.0

func SetInnerText(ctx context.Context, args ...core.Value) (core.Value, error)

INNER_TEXT_SET sets inner text string to a given or matched by CSS selector element @param doc (Open|GetElement) - Parent document or element. @param selector (String, optional) - String of CSS selector. @param innerText (String) - String of inner text.

func StyleGet added in v0.7.0

func StyleGet(ctx context.Context, args ...core.Value) (core.Value, error)

STYLE_GET gets single or more style attribute value(s) of a given element. @param el (HTMLElement) - Target element. @param names (...String) - Style name(s). @returns Object - Key-value pairs of style values.

func StyleRemove added in v0.7.0

func StyleRemove(ctx context.Context, args ...core.Value) (core.Value, error)

STYLE_REMOVE removes single or more style attribute value(s) of a given element. @param el (HTMLElement) - Target element. @param names (...String) - Style name(s).

func StyleSet added in v0.7.0

func StyleSet(ctx context.Context, args ...core.Value) (core.Value, error)

STYLE_SET sets or updates a single or more style attribute value of a given element. @param el (HTMLElement) - Target element. @param nameOrObj (String | Object) - Style name or an object representing a key-value pair of attributes. @param value (String) - If a second parameter is a string value, this parameter represent a style value.

func ValidatePageRanges

func ValidatePageRanges(pageRanges string) (bool, error)

func WaitAttribute added in v0.7.0

func WaitAttribute(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_ATTR waits until a target attribute's value appears @param node (HTMLPage | HTMLDocument | HTMLElement) - Parent document. @param attrNameOrSelector (String) - String of an attr name or CSS selector. @param attrValueOrAttrName (String | Any) - Attr value or name. @param attrValueOrTimeout (Any | Int, optional) - Attr value or an optional timeout. @param timeout (Int, optional) - Optional timeout.

func WaitAttributeAll added in v0.7.0

func WaitAttributeAll(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_ATTR_ALL waits for an attribute to appear on all matched elements with a given value. Stops the execution until the navigation ends or operation times out. @param doc (HTMLDocument) - Parent document. @param selector (String) - String of CSS selector. @param class (String) - String of target CSS class. @param timeout (Int, optional) - Optional timeout.

func WaitClass

func WaitClass(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_CLASS waits for a class to appear on a given element. Stops the execution until the navigation ends or operation times out. @param node (HTMLPage | HTMLDocument | HTMLElement) - Target node. @param selectorOrClass (String) - If document is passed, this param must represent an element selector. Otherwise target class. @param classOrTimeout (String|Int, optional) - If document is passed, this param must represent target class name. Otherwise timeout. @param timeout (Int, optional) - If document is passed, this param must represent timeout. Otherwise not passed.

func WaitClassAll

func WaitClassAll(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_CLASS_ALL waits for a class to appear on all matched elements. Stops the execution until the navigation ends or operation times out. @param doc (HTMLDocument) - Parent document. @param selector (String) - String of CSS selector. @param class (String) - String of target CSS class. @param timeout (Int, optional) - Optional timeout.

func WaitElement

func WaitElement(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_ELEMENT waits for element to appear in the DOM. Stops the execution until it finds an element or operation times out. @param n (HTMLDocument) - Driver HTMLDocument. @param selector (String) - Target element's selector. @param timeout (Int, optional) - Optional timeout. Default 5000 ms.

func WaitNavigation

func WaitNavigation(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NAVIGATION waits for a given page to navigate to a new url. Stops the execution until the navigation ends or operation times out. @param page (HTMLPage) - Target page. @param timeout (Int, optional) - Optional timeout. Default 5000 ms.

func WaitNoAttribute added in v0.7.0

func WaitNoAttribute(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NO_ATTR waits until a target attribute's value disappears @param node (HTMLPage | HTMLDocument | HTMLElement) - Parent document. @param attrNameOrSelector (String) - String of an attr name or CSS selector. @param attrValueOrAttrName (String | Any) - Attr value or name. @param attrValueOrTimeout (Any | Int, optional) - Attr value or an optional timeout. @param timeout (Int, optional) - Optional timeout.

func WaitNoAttributeAll added in v0.7.0

func WaitNoAttributeAll(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NO_ATTR_ALL waits for an attribute to disappear on all matched elements by a given value. Stops the execution until the navigation ends or operation times out. @param doc (HTMLDocument) - Parent document. @param selector (String) - String of CSS selector. @param class (String) - String of target CSS class. @param timeout (Int, optional) - Optional timeout.

func WaitNoClass added in v0.7.0

func WaitNoClass(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NO_CLASS waits for a class to disappear on a given element. Stops the execution until the navigation ends or operation times out. @param node (HTMLPage | HTMLDocument | HTMLElement) - Target node. @param selectorOrClass (String) - If document is passed, this param must represent an element selector. Otherwise target class. @param classOrTimeout (String|Int, optional) - If document is passed, this param must represent target class name. Otherwise timeout. @param timeout (Int, optional) - If document is passed, this param must represent timeout. Otherwise not passed.

func WaitNoClassAll added in v0.7.0

func WaitNoClassAll(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NO_CLASS_ALL waits for a class to disappear on all matched elements. Stops the execution until the navigation ends or operation times out. @param doc (HTMLDocument) - Parent document. @param selector (String) - String of CSS selector. @param class (String) - String of target CSS class. @param timeout (Int, optional) - Optional timeout.

func WaitNoElement added in v0.7.0

func WaitNoElement(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NO_ELEMENT waits for element to disappear in the DOM. Stops the execution until it does not find an element or operation times out. @param doc (HTMLDocument) - Driver HTMLDocument. @param selector (String) - Target element's selector. @param timeout (Int, optional) - Optional timeout. Default 5000 ms.

func WaitNoStyle added in v0.7.0

func WaitNoStyle(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NO_STYLE

func WaitNoStyleAll added in v0.7.0

func WaitNoStyleAll(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_NO_STYLE_ALL

func WaitStyle added in v0.7.0

func WaitStyle(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_STYLE

func WaitStyleAll added in v0.7.0

func WaitStyleAll(ctx context.Context, args ...core.Value) (core.Value, error)

WAIT_STYLE_ALL

func XPath added in v0.8.0

func XPath(ctx context.Context, args ...core.Value) (core.Value, error)

XPATH evaluates the XPath expression. @param source (HTMLPage | HTMLDocument | HTMLElement) - Target HTML object. @param expression (String) - XPath expression. @returns (Value) - Returns result of a given XPath expression.

Types

type PageLoadParams added in v0.8.0

type PageLoadParams struct {
	drivers.Params
	Driver  string
	Timeout time.Duration
}

type Paging added in v0.5.0

type Paging struct {
	// contains filtered or unexported fields
}

func (*Paging) Compare added in v0.5.0

func (p *Paging) Compare(_ core.Value) int64

func (*Paging) Copy added in v0.5.0

func (p *Paging) Copy() core.Value

func (*Paging) Hash added in v0.5.0

func (p *Paging) Hash() uint64

func (*Paging) Iterate added in v0.5.0

func (p *Paging) Iterate(_ context.Context) (core.Iterator, error)

func (*Paging) MarshalJSON added in v0.5.0

func (p *Paging) MarshalJSON() ([]byte, error)

func (*Paging) String added in v0.5.0

func (p *Paging) String() string

func (*Paging) Type added in v0.5.0

func (p *Paging) Type() core.Type

func (*Paging) Unwrap added in v0.5.0

func (p *Paging) Unwrap() interface{}

type PagingIterator added in v0.5.0

type PagingIterator struct {
	// contains filtered or unexported fields
}

func (*PagingIterator) Next added in v0.5.0

type ParseParams added in v0.10.0

type ParseParams struct {
	drivers.ParseParams
	Driver string
}

type WaitNavigationParams added in v0.10.0

type WaitNavigationParams struct {
	TargetURL values.String
	Timeout   values.Int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL