@ai2qa/local-agent 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/server.js +1 -1
- package/dist/tools/click.d.ts.map +1 -1
- package/dist/tools/click.js +105 -0
- package/dist/tools/click.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -25,7 +25,7 @@ const commander_1 = require("commander");
|
|
|
25
25
|
const server_js_1 = require("./server.js");
|
|
26
26
|
const config_js_1 = require("./config.js");
|
|
27
27
|
const chrome_js_1 = require("./chrome.js");
|
|
28
|
-
const VERSION = '0.1.
|
|
28
|
+
const VERSION = '0.1.9';
|
|
29
29
|
async function main() {
|
|
30
30
|
const program = new commander_1.Command();
|
|
31
31
|
program
|
package/dist/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAS,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAK5D,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAS,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAK5D,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAiE7E"}
|
package/dist/tools/click.js
CHANGED
|
@@ -39,6 +39,17 @@ async function click(page, params) {
|
|
|
39
39
|
error: ref ? `Unknown ref: ${ref}` : 'No selector provided',
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
+
// Handle CONSENT_FALLBACK special selector format
|
|
43
|
+
// Format: "CONSENT_FALLBACK:buttonText" - finds buttons by text content
|
|
44
|
+
if (resolvedSelector.startsWith('CONSENT_FALLBACK:')) {
|
|
45
|
+
const targetText = resolvedSelector.substring('CONSENT_FALLBACK:'.length);
|
|
46
|
+
console.error(`[Click] Using CONSENT_FALLBACK for: ${targetText}`);
|
|
47
|
+
const result = await tryClickConsentButtonByText(page, targetText);
|
|
48
|
+
if (result.success) {
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
// Fall through to try other methods
|
|
52
|
+
}
|
|
42
53
|
try {
|
|
43
54
|
// First try to click in the main page
|
|
44
55
|
await page.click(resolvedSelector, {
|
|
@@ -143,4 +154,98 @@ function isConsentFrame(url) {
|
|
|
143
154
|
];
|
|
144
155
|
return consentKeywords.some(keyword => url.includes(keyword));
|
|
145
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Keywords that indicate a consent/accept button.
|
|
159
|
+
*/
|
|
160
|
+
const CONSENT_KEYWORDS = [
|
|
161
|
+
'agree',
|
|
162
|
+
'accept',
|
|
163
|
+
'i agree',
|
|
164
|
+
'i accept',
|
|
165
|
+
'accept all',
|
|
166
|
+
'consent',
|
|
167
|
+
'ok',
|
|
168
|
+
'got it',
|
|
169
|
+
'allow',
|
|
170
|
+
'continue',
|
|
171
|
+
];
|
|
172
|
+
/**
|
|
173
|
+
* Try to click a consent button by its text content.
|
|
174
|
+
* Searches both main page and iframes.
|
|
175
|
+
*/
|
|
176
|
+
async function tryClickConsentButtonByText(page, targetText) {
|
|
177
|
+
const normalizedTarget = targetText.toLowerCase().trim();
|
|
178
|
+
// Try main page first
|
|
179
|
+
try {
|
|
180
|
+
const buttons = await page.locator('button, [role="button"], a[class*="btn"], input[type="button"], input[type="submit"]').all();
|
|
181
|
+
for (const btn of buttons) {
|
|
182
|
+
try {
|
|
183
|
+
const text = await btn.innerText().catch(() => '');
|
|
184
|
+
const ariaLabel = await btn.getAttribute('aria-label').catch(() => '');
|
|
185
|
+
const combinedText = `${text} ${ariaLabel}`.toLowerCase().trim();
|
|
186
|
+
const isVisible = await btn.isVisible().catch(() => false);
|
|
187
|
+
if (!isVisible)
|
|
188
|
+
continue;
|
|
189
|
+
// Check if button text matches target or any consent keyword
|
|
190
|
+
const isMatch = (normalizedTarget && combinedText.includes(normalizedTarget)) ||
|
|
191
|
+
CONSENT_KEYWORDS.some(k => combinedText.includes(k));
|
|
192
|
+
if (isMatch) {
|
|
193
|
+
await btn.click({ timeout: 5000 });
|
|
194
|
+
console.error(`[Click] Clicked consent button via text fallback: "${text.trim()}"`);
|
|
195
|
+
return {
|
|
196
|
+
success: true,
|
|
197
|
+
selector: `text="${text.trim()}"`,
|
|
198
|
+
message: 'Clicked via consent text fallback',
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
// Continue to next button
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
// Continue to iframes
|
|
209
|
+
}
|
|
210
|
+
// Try iframes
|
|
211
|
+
const frames = page.frames();
|
|
212
|
+
for (const frame of frames) {
|
|
213
|
+
if (frame === page.mainFrame())
|
|
214
|
+
continue;
|
|
215
|
+
try {
|
|
216
|
+
const buttons = await frame.locator('button, [role="button"], a[class*="btn"]').all();
|
|
217
|
+
for (const btn of buttons) {
|
|
218
|
+
try {
|
|
219
|
+
const text = await btn.innerText().catch(() => '');
|
|
220
|
+
const ariaLabel = await btn.getAttribute('aria-label').catch(() => '');
|
|
221
|
+
const combinedText = `${text} ${ariaLabel}`.toLowerCase().trim();
|
|
222
|
+
const isVisible = await btn.isVisible().catch(() => false);
|
|
223
|
+
if (!isVisible)
|
|
224
|
+
continue;
|
|
225
|
+
const isMatch = (normalizedTarget && combinedText.includes(normalizedTarget)) ||
|
|
226
|
+
CONSENT_KEYWORDS.some(k => combinedText.includes(k));
|
|
227
|
+
if (isMatch) {
|
|
228
|
+
await btn.click({ timeout: 5000 });
|
|
229
|
+
console.error(`[Click] Clicked consent button in iframe via text fallback: "${text.trim()}"`);
|
|
230
|
+
return {
|
|
231
|
+
success: true,
|
|
232
|
+
selector: `text="${text.trim()}"`,
|
|
233
|
+
message: `Clicked via consent text fallback in iframe`,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
// Continue
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// Frame might be cross-origin, continue
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return {
|
|
247
|
+
success: false,
|
|
248
|
+
error: `Consent button not found for text: ${targetText}`,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
146
251
|
//# sourceMappingURL=click.js.map
|
package/dist/tools/click.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"click.js","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,wBAEC;AAED,wBAEC;AAED,8BAEC;AAED,
|
|
1
|
+
{"version":3,"file":"click.js","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED