表格(Table)

CukeTest 为 Linux 应用中的表格 提供了 TableTableItem两个控件,以及一套丰富的API,用于获取和编辑表格数据。这些 API 可以帮助您轻松访问和操作表格中的任意单元格数据。

除下面列出的表格控件特有的方法,您还可以使用通用控件方法对表格控件进行更灵活的操作。

表格控件: Table

CukeTest 为 Linux 应用中的表格控件提供了一系列 API,用于获取和操作表格数据。

方法名 描述
columnHeaders 获取表格的列标题。
rowHeaders 获取表格的行标题。
cellValue 获取指定单元格的值。
data 获取整个表格的数据。
getItem 获取指定单元格的对象。
findItem 查找包含指定文本的单元格。
rowData 获取指定行的所有数据。
select 选择指定单元格。
rowCount 获取表格的总行数。
columnCount 获取表格的总列数。

类型定义

JavaScript
Python
export interface IAtTable extends IAtControl {
    columnHeaders(): Promise<string[]>;
    rowHeaders(): Promise<string[]>;
    cellValue(rowIndex: number, columnNameOrIndex: number | string): Promise<string>;
    data(): Promise<string[][]>;
    getItem(rowIndex: number, columnIndex: number): IAtTableItem;
    findItem(text: string, options?: {exact?: boolean}): Promise<IAtTableItem | null>;
    rowData(rowIndex: number): Promise<string[]>;
    select(rowIndex: number, columnIndex: number): Promise<IAtTableItem>;
    rowCount(): Promise<number>;
    columnCount(): Promise<number>;
}
class AtTable(AtControl):
    def columnHeaders() -> List[str]

    def cellValue(rowIndex: int, columnNameOrIndex: Union[str, int]) -> str
    def data() -> List[List[str]]
    def getItem(rowIndex: int, columnIndex: int) -> AtTableItem
    def findItem(text: str, options: Optional[FindItemOptional]=None) -> AtTableItem
    def rowData(rowIndex: int) -> List[str]
    def select(rowIndex: int, columnIndex: int) -> AtTableItem
    def rowCount() -> int
    def columnCount() -> int

columnHeaders()

获取表格的列标题。

返回值:

  • Promise<string[]>类型,异步返回表格的列标题数组。

示例代码

获取表格的列标题:

JavaScript
Python
let headers = await model.getTable("table").columnHeaders();
console.log(`列标题: ${headers.join(", ")}`);
headers = model.getTable("table").columnHeaders()
print(f"列标题: {', '.join(headers)}")

rowHeaders()

获取表格的行标题。

返回值:

  • Promise<string[]>类型,异步返回表格的行标题数组。

示例代码

获取表格的行标题:

JavaScript
Python
let headers = await model.getTable("table").rowHeaders();
console.log(`行标题: ${headers.join(", ")}`);
headers = model.getTable("table").rowHeaders()
print(f"行标题: {', '.join(headers)}")

cellValue(rowIndex, columnNameOrIndex)

获取指定单元格的值。

参数:

  • rowIndex: number类型,目标单元格的位置索引,从0开始计算。
  • columnNameOrIndex: number类型或者string类型,目标单元格的位置索引或列标题。

返回值:

  • Promise<string>类型,异步返回目标单元格的值。

示例代码

获取指定单元格的值:

JavaScript
Python
let value = await model.getTable("table").cellValue(0, 1);
console.log(`单元格值: ${value}`);
value = model.getTable("table").cellValue(0, 1)
print(f"单元格值: {value}")

data()

获取整个表格的数据,并以二维数组的形式返回。

返回值:

  • Promise<string[][]>类型,异步返回表格的二维数组。

示例代码

获取整个表格的数据:

JavaScript
Python
let tableData = await model.getTable("table").data();
console.log(`表格数据: ${JSON.stringify(tableData)}`);
table_data = model.getTable("table").data()
print(f"表格数据: {table_data}")

getItem(rowIndex, columnIndex)

获取指定单元格的对象。

参数:

  • rowIndex: number类型,目标单元格的位置索引,从0开始计算。
  • columnIndex: number类型,目标单元格的位置索引,从0开始计算。

返回值:

  • IAtTableItem类型,返回目标单元格对象。

示例代码

获取指定单元格对象:

JavaScript
Python
let item = model.getTable("table").getItem(0, 1);
item = model.getTable("table").getItem(0, 1)

findItem(text, options?)

查找包含指定文本的单元格。

参数:

  • text: string类型,目标单元格中要查找的文本。
  • options: {exact?: boolean}类型,可选参数,是否精确匹配。

返回值:

  • Promise<IAtTableItem | null>类型,异步返回查找到的单元格对象或null

示例代码

查找包含指定文本的单元格:

JavaScript
Python
let item = await model.getTable("table").findItem("查找文本", {exact: true});
item = model.getTable("table").findItem("查找文本", {"exact": True})

rowData(rowIndex)

获取指定行的所有数据。

参数:

  • rowIndex: number类型,目标行的索引,从0开始计算。

返回值:

  • Promise<string[]>类型,异步返回目标行的所有数据。

示例代码

获取指定行的所有数据:

JavaScript
Python
let rowData = await model.getTable("table").rowData(0);
console.log(`行数据: ${rowData.join(", ")}`);
row_data = model.getTable("table").rowData(0)
print(f"行数据: {', '.join(row_data)}")

select(rowIndex, columnIndex)

选择指定单元格。

参数:

  • rowIndex: number类型,目标单元格的位置索引,从0开始计算。
  • columnIndex: number类型,目标单元格的位置索引,从0开始计算。

返回值:

  • Promise<IAtTableItem>类型,异步返回选中的单元格对象。

示例代码

选择指定单元格:

JavaScript
Python
let item = await model.getTable("table").select(0, 1);
item = model.getTable("table").select(0, 1)

rowCount()

获取表格的总行数。

返回值:

  • Promise<number>类型,异步返回表格的总行数。

示例代码

获取表格的总行数:

JavaScript
Python
let count = await model.getTable("table").rowCount();
console.log(`总行数: ${count}`);
count = model.getTable("table").rowCount()
print(f"总行数: {count}")

columnCount()

获取表格的总列数,该值与 columnHeaders() 方法返回的数组长度一致。

返回值:

  • Promise<number>类型,异步返回表格的总列数。

示例代码

获取表格的总列数:

JavaScript
Python
let count = await model.getTable("table").columnCount();
console.log(`总列数: ${count}`);
count = model.getTable("table").columnCount()
print(f"总列数: {count}")

单元格控件: TableItem

CukeTest 为 Linux 应用中的单元格控件(TableItem)提供了一系列 API,用于获取和设置单元格数据,以及获取单元格的行列索引。

方法名 描述
data 获取单元格中的数据。
set 设置单元格中的数据。
rowIndex 获取单元格所在的行索引。
columnIndex 获取单元格所在的列索引。

类型定义

JavaScript
Python
export interface IAtTableItem extends IAtControl {
    data(): Promise<string>;
    set(value: string): Promise<void>;
    rowIndex(): Promise<number>;
    columnIndex(): Promise<number>;
}
class AtTableItem(AtControl):
	def data() -> str
	def set(value: str) -> None
	def rowIndex() -> int
	def columnIndex() -> int

data()

获取单元格中的数据。

返回值:

  • Promise<string> 类型,异步返回单元格中的数据。

示例代码

获取单元格中的数据:

JavaScript
Python
let cellData = await model.getTableItem("tableitem").data();
console.log(`单元格数据: ${cellData}`);
cell_data = model.getTableItem("tableitem").data()
print(f"单元格数据: {cell_data}")

set(value)

设置单元格中的数据。

参数:

  • value: string类型,要设置的单元格数据。

返回值:

  • 不返回任何值的异步方法。

示例代码

设置单元格中的数据:

JavaScript
Python
await model.getTableItem("tableitem").set("新数据");
model.getTableItem("tableitem").set("新数据")

rowIndex()

获取单元格所在的行索引。

返回值:

  • Promise<number>类型,异步返回单元格所在的行索引。

示例代码

获取单元格所在的行索引:

JavaScript
Python
let rowIndex = await model.getTableItem("tableitem").rowIndex();
console.log(`行索引: ${rowIndex}`);
row_index = model.getTableItem("tableitem").rowIndex()
print(f"行索引: {row_index}")

columnIndex()

获取单元格所在的列索引。

返回值:

  • Promise<number>类型,异步返回单元格所在的列索引。

示例代码

获取单元格所在的列索引:

JavaScript
Python
let columnIndex = await model.getTableItem("tableitem").columnIndex();
console.log(`列索引: ${columnIndex}`);
column_index = model.getTableItem("tableitem").columnIndex()
print(f"列索引: {column_index}")

results matching ""

    No results matching ""