表格(Table)
CukeTest 为 Linux 应用中的表格 提供了 Table 和 TableItem两个控件,以及一套丰富的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}")