Skip to content

Commit fa92472

Browse files
committed
fix: update selectors for AI Studio UI changes (Run buttons, Nano image structure)
1 parent 8eee94a commit fa92472

4 files changed

Lines changed: 268 additions & 145 deletions

File tree

src/config/imagen_selectors.py

Lines changed: 58 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
IMAGEN_PAGE_URL_TEMPLATE = 'https://aistudio.google.com/prompts/new_image?model={model}'
2-
IMAGEN_SUPPORTED_MODELS = ['imagen-4.0-generate-001', 'imagen-4.0-ultra-generate-001', 'imagen-4.0-fast-generate-001']
1+
IMAGEN_PAGE_URL_TEMPLATE = "https://aistudio.google.com/prompts/new_image?model={model}"
2+
IMAGEN_SUPPORTED_MODELS = [
3+
"imagen-4.0-generate-001",
4+
"imagen-4.0-ultra-generate-001",
5+
"imagen-4.0-fast-generate-001",
6+
]
37

4-
IMAGEN_ROOT_SELECTOR = 'ms-image-prompt'
5-
IMAGEN_MAIN_CONTENT_SELECTOR = '.image-prompt-main'
8+
IMAGEN_ROOT_SELECTOR = "ms-image-prompt"
9+
IMAGEN_MAIN_CONTENT_SELECTOR = ".image-prompt-main"
610

7-
IMAGEN_TOOLBAR_SELECTOR = 'ms-toolbar'
8-
IMAGEN_TOOLBAR_TITLE_SELECTOR = 'ms-toolbar h1.mode-title'
11+
IMAGEN_TOOLBAR_SELECTOR = "ms-toolbar"
12+
IMAGEN_TOOLBAR_TITLE_SELECTOR = "ms-toolbar h1.mode-title"
913

1014
IMAGEN_PROMPT_INPUT_SELECTORS = [
1115
'ms-prompt-input-wrapper textarea[aria-label="Enter a prompt to generate an image"]',
@@ -15,33 +19,58 @@
1519
IMAGEN_PROMPT_INPUT_SELECTOR = IMAGEN_PROMPT_INPUT_SELECTORS[0]
1620

1721
IMAGEN_RUN_BUTTON_SELECTORS = [
18-
'ms-run-button button[aria-label="Run"]',
19-
'button[aria-label="Run"].run-button',
20-
'ms-prompt-input-wrapper ms-run-button button[aria-label="Run"]',
21-
'ms-prompt-box ms-run-button button[aria-label="Run"]',
22+
'ms-run-button button[type="submit"]',
23+
'ms-prompt-box ms-run-button button[type="submit"]',
24+
"ms-run-button button:has(.run-button-label)",
2225
]
2326
IMAGEN_RUN_BUTTON_SELECTOR = IMAGEN_RUN_BUTTON_SELECTORS[0]
2427

25-
IMAGEN_GALLERY_CONTAINER_SELECTOR = 'ms-image-generation-gallery'
26-
IMAGEN_GALLERY_ITEM_SELECTOR = 'ms-image-generation-gallery-image'
27-
IMAGEN_GENERATED_IMAGE_SELECTOR = 'ms-image-generation-gallery-image .image-container img'
28-
IMAGEN_IMAGE_ACTIONS_CONTAINER_SELECTOR = 'ms-image-generation-gallery-image .actions-container'
29-
IMAGEN_IMAGE_DOWNLOAD_BUTTON_SELECTOR = 'ms-image-generation-gallery-image button[aria-label="Download this image"]'
30-
IMAGEN_IMAGE_COPY_BUTTON_SELECTOR = 'ms-image-generation-gallery-image button[aria-label="Copy this image"]'
28+
IMAGEN_GALLERY_CONTAINER_SELECTOR = "ms-image-generation-gallery"
29+
IMAGEN_GALLERY_ITEM_SELECTOR = "ms-image-generation-gallery-image"
30+
IMAGEN_GENERATED_IMAGE_SELECTOR = (
31+
"ms-image-generation-gallery-image .image-container img"
32+
)
33+
IMAGEN_IMAGE_ACTIONS_CONTAINER_SELECTOR = (
34+
"ms-image-generation-gallery-image .actions-container"
35+
)
36+
IMAGEN_IMAGE_DOWNLOAD_BUTTON_SELECTOR = (
37+
'ms-image-generation-gallery-image button[aria-label="Download this image"]'
38+
)
39+
IMAGEN_IMAGE_COPY_BUTTON_SELECTOR = (
40+
'ms-image-generation-gallery-image button[aria-label="Copy this image"]'
41+
)
3142

32-
IMAGEN_SETTINGS_PANEL_SELECTOR = 'ms-run-settings'
33-
IMAGEN_SETTINGS_HEADER_SELECTOR = 'ms-run-settings .overlay-header h2'
34-
IMAGEN_SETTINGS_MODEL_SELECTOR_CARD_SELECTOR = 'ms-run-settings ms-model-selector-v3 button.model-selector-card'
35-
IMAGEN_SETTINGS_NUM_RESULTS_CONTAINER_SELECTOR = 'div:has(> div > p:text-is("Number of results"))'
36-
IMAGEN_SETTINGS_NUM_RESULTS_SLIDER_SELECTOR = 'div:has(> div > p:text-is("Number of results")) mat-slider'
37-
IMAGEN_SETTINGS_NUM_RESULTS_INPUT_SELECTOR = 'div:has(> div > p:text-is("Number of results")) input[type="number"]'
38-
IMAGEN_SETTINGS_ASPECT_RATIO_GALLERY_SELECTOR = 'ms-run-settings .aspect-ratio-gallery'
39-
IMAGEN_SETTINGS_ASPECT_RATIO_BUTTON_SELECTOR = 'ms-run-settings ms-aspect-ratio-radio-button button'
43+
IMAGEN_SETTINGS_PANEL_SELECTOR = "ms-run-settings"
44+
IMAGEN_SETTINGS_HEADER_SELECTOR = "ms-run-settings .overlay-header h2"
45+
IMAGEN_SETTINGS_MODEL_SELECTOR_CARD_SELECTOR = (
46+
"ms-run-settings ms-model-selector-v3 button.model-selector-card"
47+
)
48+
IMAGEN_SETTINGS_NUM_RESULTS_CONTAINER_SELECTOR = (
49+
'div:has(> div > p:text-is("Number of results"))'
50+
)
51+
IMAGEN_SETTINGS_NUM_RESULTS_SLIDER_SELECTOR = (
52+
'div:has(> div > p:text-is("Number of results")) mat-slider'
53+
)
54+
IMAGEN_SETTINGS_NUM_RESULTS_INPUT_SELECTOR = (
55+
'div:has(> div > p:text-is("Number of results")) input[type="number"]'
56+
)
57+
IMAGEN_SETTINGS_ASPECT_RATIO_GALLERY_SELECTOR = "ms-run-settings .aspect-ratio-gallery"
58+
IMAGEN_SETTINGS_ASPECT_RATIO_BUTTON_SELECTOR = (
59+
"ms-run-settings ms-aspect-ratio-radio-button button"
60+
)
4061
IMAGEN_SETTINGS_NEGATIVE_PROMPT_SELECTOR = 'ms-run-settings textarea[aria-label="Add a negative prompt to define what should not be generated"]'
41-
IMAGEN_SETTINGS_RESET_BUTTON_SELECTOR = 'ms-run-settings button#resetSettingsBtn'
42-
IMAGEN_SETTINGS_CLOSE_BUTTON_SELECTOR = 'ms-run-settings button[aria-label="Close run settings panel"]'
62+
IMAGEN_SETTINGS_RESET_BUTTON_SELECTOR = "ms-run-settings button#resetSettingsBtn"
63+
IMAGEN_SETTINGS_CLOSE_BUTTON_SELECTOR = (
64+
'ms-run-settings button[aria-label="Close run settings panel"]'
65+
)
4366

44-
IMAGEN_IMAGE_THUMB_UP_BUTTON_SELECTOR = 'ms-image-generation-gallery-image button[aria-label="Good response"]'
45-
IMAGEN_IMAGE_THUMB_DOWN_BUTTON_SELECTOR = 'ms-image-generation-gallery-image button[aria-label="Bad response"]'
46-
IMAGEN_IMAGE_FULLSCREEN_BUTTON_SELECTOR = 'ms-image-generation-gallery-image button[aria-label="Large view of this image"]'
67+
IMAGEN_IMAGE_THUMB_UP_BUTTON_SELECTOR = (
68+
'ms-image-generation-gallery-image button[aria-label="Good response"]'
69+
)
70+
IMAGEN_IMAGE_THUMB_DOWN_BUTTON_SELECTOR = (
71+
'ms-image-generation-gallery-image button[aria-label="Bad response"]'
72+
)
73+
IMAGEN_IMAGE_FULLSCREEN_BUTTON_SELECTOR = (
74+
'ms-image-generation-gallery-image button[aria-label="Large view of this image"]'
75+
)
4776
IMAGEN_IMAGE_EXPORT_DRIVE_BUTTON_SELECTOR = 'ms-image-generation-gallery-image button[aria-label="Export this image to Google Drive"]'

src/config/nano_selectors.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
NANO_PAGE_URL_TEMPLATE = 'https://aistudio.google.com/prompts/new_chat?model={model}'
2-
NANO_SUPPORTED_MODELS = ['gemini-2.5-flash-image']
3-
4-
NANO_RESPONSE_CHUNK_SELECTOR = 'ms-chat-turn'
5-
NANO_IMAGE_CHUNK_SELECTOR = 'ms-chat-turn ms-image-chunk'
6-
NANO_GENERATED_IMAGE_SELECTOR = 'ms-chat-turn ms-image-chunk img'
7-
NANO_IMAGE_DOWNLOAD_BUTTON_SELECTOR = 'ms-chat-turn ms-image-chunk button'
8-
9-
NANO_SETTINGS_PANEL_SELECTOR = 'ms-run-settings'
10-
NANO_SETTINGS_ASPECT_RATIO_DROPDOWN_SELECTOR = 'ms-run-settings mat-select[aria-label="Aspect ratio"]'
11-
12-
13-
14-
1+
NANO_PAGE_URL_TEMPLATE = "https://aistudio.google.com/prompts/new_chat?model={model}"
2+
NANO_SUPPORTED_MODELS = ["gemini-2.5-flash-image"]
3+
4+
NANO_RESPONSE_CHUNK_SELECTOR = "ms-chat-turn"
5+
NANO_IMAGE_CHUNK_SELECTOR = "ms-chat-turn ms-prompt-chunk ms-image-chunk"
6+
NANO_GENERATED_IMAGE_SELECTOR = "ms-chat-turn ms-image-chunk img.loaded-image"
7+
NANO_IMAGE_DOWNLOAD_BUTTON_SELECTOR = (
8+
'ms-chat-turn ms-image-chunk button[aria-label="Download"]'
9+
)
10+
11+
NANO_SETTINGS_PANEL_SELECTOR = "ms-run-settings"
12+
NANO_SETTINGS_ASPECT_RATIO_DROPDOWN_SELECTOR = (
13+
'ms-run-settings mat-select[aria-label="Aspect ratio"]'
14+
)

src/config/selectors.py

Lines changed: 85 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@
22
PROMPT_TEXTAREA_SELECTORS = [
33
'ms-prompt-box textarea[aria-label="Enter a prompt"]',
44
'ms-prompt-box textarea[placeholder="Start typing a prompt"]',
5-
'ms-prompt-box .prompt-box-container .text-wrapper textarea',
6-
'ms-prompt-box textarea',
5+
"ms-prompt-box .prompt-box-container .text-wrapper textarea",
6+
"ms-prompt-box textarea",
77
]
88
PROMPT_TEXTAREA_SELECTOR = PROMPT_TEXTAREA_SELECTORS[0]
99
INPUT_SELECTOR = PROMPT_TEXTAREA_SELECTOR
1010
INPUT_SELECTOR2 = PROMPT_TEXTAREA_SELECTOR
1111

1212
# 提交按钮
1313
SUBMIT_BUTTON_SELECTORS = [
14-
'ms-run-button button[aria-label="Run"]',
15-
'ms-prompt-box ms-run-button button',
16-
'button[aria-label="Run"]',
14+
'ms-run-button button[type="submit"]',
15+
'ms-prompt-box ms-run-button button[type="submit"]',
16+
"ms-run-button button:has(.run-button-label)",
1717
]
1818
SUBMIT_BUTTON_SELECTOR = SUBMIT_BUTTON_SELECTORS[0]
1919

2020
# 文件上传
2121
INSERT_BUTTON_SELECTORS = [
2222
'button[data-test-id="add-media-button"]',
2323
'button[aria-label="Insert images, videos, audio, or files"]',
24-
'ms-add-media-button button',
25-
'button[data-test-add-chunk-menu-button]',
24+
"ms-add-media-button button",
25+
"button[data-test-add-chunk-menu-button]",
2626
]
2727
INSERT_BUTTON_SELECTOR = INSERT_BUTTON_SELECTORS[0]
2828

2929
UPLOAD_BUTTON_SELECTORS = [
30-
'button.upload-file-menu-item',
30+
"button.upload-file-menu-item",
3131
'button[role="menuitem"]:has-text("Upload files")',
3232
'button[role="menuitem"]:has-text("Upload File")',
3333
]
@@ -39,85 +39,123 @@
3939
]
4040
HIDDEN_FILE_INPUT_SELECTOR = HIDDEN_FILE_INPUT_SELECTORS[0]
4141

42-
UPLOADED_MEDIA_ITEM_SELECTOR = 'ms-prompt-box .multi-media-row ms-media-chip'
42+
UPLOADED_MEDIA_ITEM_SELECTOR = "ms-prompt-box .multi-media-row ms-media-chip"
4343

4444
# 响应区域
45-
SKIP_PREFERENCE_VOTE_BUTTON_SELECTOR = 'button[data-test-id="skip-button"][aria-label="Skip preference vote"]'
46-
RESPONSE_CONTAINER_SELECTOR = 'ms-chat-turn .chat-turn-container.model'
47-
RESPONSE_TEXT_SELECTOR = 'ms-cmark-node.cmark-node'
45+
SKIP_PREFERENCE_VOTE_BUTTON_SELECTOR = (
46+
'button[data-test-id="skip-button"][aria-label="Skip preference vote"]'
47+
)
48+
RESPONSE_CONTAINER_SELECTOR = "ms-chat-turn .chat-turn-container.model"
49+
RESPONSE_TEXT_SELECTOR = "ms-cmark-node.cmark-node"
4850

4951
# 加载状态
5052
LOADING_SPINNER_SELECTORS = [
51-
'ms-run-button button svg .stoppable-spinner',
52-
'ms-prompt-box ms-run-button button svg .stoppable-spinner',
53-
'button[aria-label="Run"] svg .stoppable-spinner',
53+
'ms-run-button button[type="submit"] svg .stoppable-spinner',
54+
"ms-prompt-box ms-run-button button svg .stoppable-spinner",
55+
"ms-run-button button svg .stoppable-spinner",
5456
]
5557
LOADING_SPINNER_SELECTOR = LOADING_SPINNER_SELECTORS[0]
5658

5759
# 对话框/遮罩层
58-
OVERLAY_SELECTOR = '.mat-mdc-dialog-inner-container'
59-
ZERO_STATE_SELECTOR = 'ms-zero-state'
60-
ERROR_TOAST_SELECTOR = 'div.toast.warning, div.toast.error'
60+
OVERLAY_SELECTOR = ".mat-mdc-dialog-inner-container"
61+
ZERO_STATE_SELECTOR = "ms-zero-state"
62+
ERROR_TOAST_SELECTOR = "div.toast.warning, div.toast.error"
6163

6264
# 消息编辑
63-
EDIT_MESSAGE_BUTTON_SELECTOR = 'button[aria-label="Edit"].toggle-edit-button:has(span:text-is("edit"))'
64-
MESSAGE_TEXTAREA_SELECTOR = 'ms-chat-turn:last-child ms-text-chunk ms-autosize-textarea'
65+
EDIT_MESSAGE_BUTTON_SELECTOR = (
66+
'button[aria-label="Edit"].toggle-edit-button:has(span:text-is("edit"))'
67+
)
68+
MESSAGE_TEXTAREA_SELECTOR = "ms-chat-turn:last-child ms-text-chunk ms-autosize-textarea"
6569
FINISH_EDIT_BUTTON_SELECTOR = 'button[aria-label="Stop editing"].toggle-edit-button'
6670
MORE_OPTIONS_BUTTON_SELECTOR = 'button[aria-label="Open options"]'
6771
COPY_MARKDOWN_BUTTON_SELECTOR = 'button[role="menuitem"]:has-text("Copy markdown")'
6872
COPY_MARKDOWN_BUTTON_SELECTOR_ALT = 'div[role="menu"] button:has-text("Copy Markdown")'
6973

7074
# 高级设置
71-
ADVANCED_SETTINGS_EXPANDER_SELECTOR = 'button[aria-label="Expand or collapse advanced settings"]'
75+
ADVANCED_SETTINGS_EXPANDER_SELECTOR = (
76+
'button[aria-label="Expand or collapse advanced settings"]'
77+
)
7278
MAX_OUTPUT_TOKENS_SELECTOR = 'input[aria-label="Maximum output tokens"]'
7379
STOP_SEQUENCE_INPUT_SELECTOR = 'input[aria-label="Add stop token"]'
74-
MAT_CHIP_REMOVE_BUTTON_SELECTOR = 'mat-chip-set mat-chip-row button[aria-label*="Remove"]'
80+
MAT_CHIP_REMOVE_BUTTON_SELECTOR = (
81+
'mat-chip-set mat-chip-row button[aria-label*="Remove"]'
82+
)
7583
TOP_P_INPUT_SELECTOR = '//div[contains(@class, "settings-item-column") and .//h3[normalize-space()="Top P"]]//input[@role="spinbutton"]'
7684
TEMPERATURE_INPUT_SELECTOR = '//div[contains(@class, "settings-item-column") and .//h3[normalize-space()="Temperature"]]//input[@role="spinbutton"]'
7785

7886
# 工具面板
7987
USE_URL_CONTEXT_SELECTOR = 'ms-browse-as-a-tool mat-slide-toggle button[role="switch"]'
80-
GROUNDING_WITH_GOOGLE_SEARCH_TOGGLE_SELECTOR = 'div[data-test-id="searchAsAToolTooltip"] mat-slide-toggle button'
88+
GROUNDING_WITH_GOOGLE_SEARCH_TOGGLE_SELECTOR = (
89+
'div[data-test-id="searchAsAToolTooltip"] mat-slide-toggle button'
90+
)
8191

8292
# 思考模式
8393
THINKING_MODE_TOGGLE_SELECTOR = 'mat-slide-toggle[data-test-toggle="enable-thinking"]'
84-
SET_THINKING_BUDGET_TOGGLE_SELECTOR = 'mat-slide-toggle[data-test-toggle="manual-budget"]'
94+
SET_THINKING_BUDGET_TOGGLE_SELECTOR = (
95+
'mat-slide-toggle[data-test-toggle="manual-budget"]'
96+
)
8597
THINKING_BUDGET_INPUT_SELECTOR = 'ms-slider[data-test-slider] input[type="number"]'
86-
THINKING_LEVEL_SELECT_SELECTOR = 'mat-select[aria-label="Thinking Level"], mat-select[aria-label="Thinking level"]'
98+
THINKING_LEVEL_SELECT_SELECTOR = (
99+
'mat-select[aria-label="Thinking Level"], mat-select[aria-label="Thinking level"]'
100+
)
87101
THINKING_LEVEL_OPTIONS = {
88-
'minimal': 'mat-option:has-text("Minimal")',
89-
'low': 'mat-option:has-text("Low")',
90-
'medium': 'mat-option:has-text("Medium")',
91-
'high': 'mat-option:has-text("High")',
102+
"minimal": 'mat-option:has-text("Minimal")',
103+
"low": 'mat-option:has-text("Low")',
104+
"medium": 'mat-option:has-text("Medium")',
105+
"high": 'mat-option:has-text("High")',
92106
}
93-
THINKING_LEVEL_OPTION_HIGH_SELECTOR = THINKING_LEVEL_OPTIONS['high']
94-
THINKING_LEVEL_OPTION_LOW_SELECTOR = THINKING_LEVEL_OPTIONS['low']
107+
THINKING_LEVEL_OPTION_HIGH_SELECTOR = THINKING_LEVEL_OPTIONS["high"]
108+
THINKING_LEVEL_OPTION_LOW_SELECTOR = THINKING_LEVEL_OPTIONS["low"]
95109
DEFAULT_THINKING_LEVEL = "high"
96110

97111
# 系统指令
98112
SYSTEM_INSTRUCTIONS_BUTTON_SELECTOR = 'button[aria-label="System instructions"]'
99113
SYSTEM_INSTRUCTIONS_TEXTAREA_SELECTOR = 'textarea[aria-label="System instructions"]'
100114

101115
# 模型选择器
102-
MODEL_SELECTOR_CARD_TITLE = '.model-selector-card .title'
116+
MODEL_SELECTOR_CARD_TITLE = ".model-selector-card .title"
103117
MODEL_SELECTOR_CARD_NAME = '[data-test-id="model-name"]'
104-
MODEL_SELECTOR_CARD_SUBTITLE = '.model-selector-card .subtitle'
105-
MODEL_SELECTOR_LEGACY_PRIMARY = 'mat-select[data-test-ms-model-selector] .model-option-content span'
106-
MODEL_SELECTOR_LEGACY_FALLBACK = 'mat-select[data-test-ms-model-selector] span'
107-
MODEL_SELECTOR_LEGACY_GENERIC = '[data-test-ms-model-selector] span'
108-
MODEL_SELECTOR_BUTTON_SPAN = 'button[data-test-ms-model-selector] span'
109-
MODEL_OPTION_CONTENT_SPAN = '.model-option-content span'
110-
MODEL_SELECTORS_LIST = [MODEL_SELECTOR_CARD_TITLE, MODEL_SELECTOR_CARD_NAME, MODEL_SELECTOR_CARD_SUBTITLE, MODEL_SELECTOR_LEGACY_PRIMARY, MODEL_SELECTOR_LEGACY_FALLBACK, MODEL_SELECTOR_LEGACY_GENERIC, '.model-selector span', MODEL_SELECTOR_BUTTON_SPAN, MODEL_OPTION_CONTENT_SPAN]
118+
MODEL_SELECTOR_CARD_SUBTITLE = ".model-selector-card .subtitle"
119+
MODEL_SELECTOR_LEGACY_PRIMARY = (
120+
"mat-select[data-test-ms-model-selector] .model-option-content span"
121+
)
122+
MODEL_SELECTOR_LEGACY_FALLBACK = "mat-select[data-test-ms-model-selector] span"
123+
MODEL_SELECTOR_LEGACY_GENERIC = "[data-test-ms-model-selector] span"
124+
MODEL_SELECTOR_BUTTON_SPAN = "button[data-test-ms-model-selector] span"
125+
MODEL_OPTION_CONTENT_SPAN = ".model-option-content span"
126+
MODEL_SELECTORS_LIST = [
127+
MODEL_SELECTOR_CARD_TITLE,
128+
MODEL_SELECTOR_CARD_NAME,
129+
MODEL_SELECTOR_CARD_SUBTITLE,
130+
MODEL_SELECTOR_LEGACY_PRIMARY,
131+
MODEL_SELECTOR_LEGACY_FALLBACK,
132+
MODEL_SELECTOR_LEGACY_GENERIC,
133+
".model-selector span",
134+
MODEL_SELECTOR_BUTTON_SPAN,
135+
MODEL_OPTION_CONTENT_SPAN,
136+
]
111137

112138
# 速率限制
113-
RATE_LIMIT_CALLOUT_SELECTOR = 'ms-callout.error-callout .message, ms-callout.warning-callout .message'
139+
RATE_LIMIT_CALLOUT_SELECTOR = (
140+
"ms-callout.error-callout .message, ms-callout.warning-callout .message"
141+
)
114142
RATE_LIMIT_KEYWORDS = ["exceeded quota", "out of free generations"]
115143

116144
# Function Calling (尚未使用,改为合并到system prompt)
117-
FUNCTION_CALLING_TOGGLE_SELECTOR = 'div[data-test-id="functionCallingTooltip"] mat-slide-toggle'
118-
EDIT_FUNCTION_DECLARATIONS_BUTTON_SELECTOR = 'button.edit-function-declarations-button'
119-
FUNCTION_DECLARATIONS_DIALOG_SELECTOR = 'ms-edit-function-declarations-dialog'
120-
FUNCTION_DECLARATIONS_DIALOG_CLOSE_BUTTON_SELECTOR = 'ms-edit-function-declarations-dialog h2 button[aria-label="close"]'
121-
FUNCTION_DECLARATIONS_CODE_EDITOR_TAB_SELECTOR = 'ms-edit-function-declarations-dialog button[role="tab"]:has-text("Code Editor")'
122-
FUNCTION_DECLARATIONS_TEXTAREA_SELECTOR = 'ms-edit-function-declarations-dialog ms-text-editor textarea'
123-
FUNCTION_DECLARATIONS_SAVE_BUTTON_SELECTOR = 'ms-edit-function-declarations-dialog mat-dialog-actions button:has-text("Save")'
145+
FUNCTION_CALLING_TOGGLE_SELECTOR = (
146+
'div[data-test-id="functionCallingTooltip"] mat-slide-toggle'
147+
)
148+
EDIT_FUNCTION_DECLARATIONS_BUTTON_SELECTOR = "button.edit-function-declarations-button"
149+
FUNCTION_DECLARATIONS_DIALOG_SELECTOR = "ms-edit-function-declarations-dialog"
150+
FUNCTION_DECLARATIONS_DIALOG_CLOSE_BUTTON_SELECTOR = (
151+
'ms-edit-function-declarations-dialog h2 button[aria-label="close"]'
152+
)
153+
FUNCTION_DECLARATIONS_CODE_EDITOR_TAB_SELECTOR = (
154+
'ms-edit-function-declarations-dialog button[role="tab"]:has-text("Code Editor")'
155+
)
156+
FUNCTION_DECLARATIONS_TEXTAREA_SELECTOR = (
157+
"ms-edit-function-declarations-dialog ms-text-editor textarea"
158+
)
159+
FUNCTION_DECLARATIONS_SAVE_BUTTON_SELECTOR = (
160+
'ms-edit-function-declarations-dialog mat-dialog-actions button:has-text("Save")'
161+
)

0 commit comments

Comments
 (0)