45 lines
1.0 KiB
Python
45 lines
1.0 KiB
Python
"""脱敏 UIA element specs;复制到新技能后必须用真实拾取结果替换。"""
|
||
|
||
from __future__ import annotations
|
||
|
||
from dataclasses import dataclass
|
||
from typing import Optional
|
||
|
||
|
||
@dataclass(frozen=True)
|
||
class WindowSpec:
|
||
logical_name: str
|
||
process_name: str
|
||
class_name: str
|
||
title: Optional[str] = None
|
||
|
||
|
||
@dataclass(frozen=True)
|
||
class ElementSpec:
|
||
logical_name: str
|
||
name: Optional[str] = None
|
||
automation_id: Optional[str] = None
|
||
control_type: Optional[str] = None
|
||
class_name: Optional[str] = None
|
||
ancestor_name: Optional[str] = None
|
||
expected_count: int = 1
|
||
|
||
|
||
MAIN_WINDOW = WindowSpec("main_window", "WXWork", "WeWorkWindow", "企业微信")
|
||
ADD_CUSTOMER_WINDOW = WindowSpec(
|
||
"add_customer_window",
|
||
"WXWork",
|
||
"SearchExternalsWnd",
|
||
"添加客户",
|
||
)
|
||
CONTACTS_ENTRY = ElementSpec(
|
||
"contacts_entry",
|
||
name="org_op_new",
|
||
control_type="TreeItem",
|
||
)
|
||
SEARCH_INPUT = ElementSpec(
|
||
"search_input",
|
||
name="searchedit",
|
||
ancestor_name="search_layout",
|
||
)
|