// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../resource'; import * as Core from '../../core'; export class Scrape extends APIResource { /** * Get meta attributes like height, width, text and others of selected elements. */ create(params: ScrapeCreateParams, options?: Core.RequestOptions): Core.APIPromise { const { account_id, cacheTTL, ...body } = params; return ( this._client.post(`/accounts/${account_id}/browser-rendering/scrape`, { query: { cacheTTL }, body, ...options, }) as Core.APIPromise<{ result: ScrapeCreateResponse }> )._thenUnwrap((obj) => obj.result); } } export type ScrapeCreateResponse = Array; export namespace ScrapeCreateResponse { export interface ScrapeCreateResponseItem { result: ScrapeCreateResponseItem.Result; /** * Selector */ selector: string; } export namespace ScrapeCreateResponseItem { export interface Result { attributes: Array; /** * Element height */ height: number; /** * Html content */ html: string; /** * Element left */ left: number; /** * Text content */ text: string; /** * Element top */ top: number; /** * Element width */ width: number; } export namespace Result { export interface Attribute { /** * Attribute name */ name: string; /** * Attribute value */ value: string; } } } } export interface ScrapeCreateParams { /** * Path param: Account ID. */ account_id: string; /** * Body param: */ elements: Array; /** * Query param: Cache TTL default is 5s. Set to 0 to disable. */ cacheTTL?: number; /** * Body param: Adds a `