multi-automator
Version:
Multi terminal automation
82 lines (81 loc) • 1.62 kB
TypeScript
/// <reference types="node" />
/**
* @desc: Web Element
* @author: john_chen
* @date: 2023.03.13
*/
import { ElementHandle } from 'puppeteer-core';
import WebHandler from './Handler';
/**
* Element Options
*/
export interface ElementOptions {
/**
* 设备实例
*/
device: WebHandler;
/**
* 元素对象
*/
element: ElementHandle;
}
/**
* web 元素类
*/
export default class Element {
/**
* 设备实例
*/
device: WebHandler;
/**
* 元素对象
*/
element: ElementHandle;
/**
* WEB Element Handle
*/
constructor(options: ElementOptions);
/**
* 获取元素位置
*
* @return {Promise{Object}} res
* @return {number} res.x
* @return {number} res.y
* @return {number} res.width
* @return {number} res.height
*/
boundingBox(): Promise<import("puppeteer-core").BoundingBox | null>;
/**
* 截屏
*
* @param {string} path 存储路径
* @return {Promise{Buffer}}
*/
screenshot(): Promise<string | Buffer>;
/**
* 元素点击
*
* @return {Promise}
*/
tap(): Promise<void>;
/**
* 回车
*
* @return {Promise}
*/
enter(): Promise<void>;
/**
* 对设备元素执行输入操作
*
* @param {string} text 要输入的文本
* @return {Promise}
*/
input(text: string): Promise<void>;
/**
* 获取元素属性值
*
* @param {string} name 属性名称
* @return {string} 属性值
*/
attribute(name: string): Promise<unknown>;
}