cbrowser 7.4.15 → 7.4.17
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/analysis/bug-hunter.d.ts +1 -0
- package/dist/analysis/bug-hunter.d.ts.map +1 -1
- package/dist/analysis/bug-hunter.js +75 -4
- package/dist/analysis/bug-hunter.js.map +1 -1
- package/dist/analysis/natural-language.d.ts +22 -2
- package/dist/analysis/natural-language.d.ts.map +1 -1
- package/dist/analysis/natural-language.js +205 -43
- package/dist/analysis/natural-language.js.map +1 -1
- package/dist/browser.d.ts +27 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +171 -5
- package/dist/browser.js.map +1 -1
- package/dist/cli.js +124 -2
- package/dist/cli.js.map +1 -1
- package/dist/mcp-server-remote.d.ts.map +1 -1
- package/dist/mcp-server-remote.js +57 -39
- package/dist/mcp-server-remote.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +56 -37
- package/dist/mcp-server.js.map +1 -1
- package/dist/types.d.ts +44 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/browser.js
CHANGED
|
@@ -810,11 +810,22 @@ class CBrowser {
|
|
|
810
810
|
// Try multiple selector strategies
|
|
811
811
|
const element = await this.findElement(selector);
|
|
812
812
|
if (!element) {
|
|
813
|
-
|
|
813
|
+
const result = {
|
|
814
814
|
success: false,
|
|
815
815
|
screenshot: await this.screenshot(),
|
|
816
816
|
message: `Element not found: ${selector}`,
|
|
817
817
|
};
|
|
818
|
+
if (options.verbose) {
|
|
819
|
+
const available = await this.getAvailableClickables(page);
|
|
820
|
+
result.availableElements = available;
|
|
821
|
+
result.aiSuggestion = this.generateClickSuggestion(selector, available);
|
|
822
|
+
result.debugScreenshot = await this.captureDebugScreenshot(page, {
|
|
823
|
+
availableSelectors: available.map(e => e.selector),
|
|
824
|
+
attemptedSelector: selector,
|
|
825
|
+
debugDir: options.debugDir,
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
return result;
|
|
818
829
|
}
|
|
819
830
|
await element.click();
|
|
820
831
|
// Wait for any navigation or network activity
|
|
@@ -828,26 +839,48 @@ class CBrowser {
|
|
|
828
839
|
}
|
|
829
840
|
catch (error) {
|
|
830
841
|
this.audit("click", selector, zone, "failure");
|
|
831
|
-
|
|
842
|
+
const result = {
|
|
832
843
|
success: false,
|
|
833
844
|
screenshot: await this.screenshot(),
|
|
834
845
|
message: `Failed to click: ${error instanceof Error ? error.message : String(error)}`,
|
|
835
846
|
};
|
|
847
|
+
if (options.verbose) {
|
|
848
|
+
const available = await this.getAvailableClickables(page);
|
|
849
|
+
result.availableElements = available;
|
|
850
|
+
result.aiSuggestion = this.generateClickSuggestion(selector, available);
|
|
851
|
+
result.debugScreenshot = await this.captureDebugScreenshot(page, {
|
|
852
|
+
availableSelectors: available.map(e => e.selector),
|
|
853
|
+
attemptedSelector: selector,
|
|
854
|
+
debugDir: options.debugDir,
|
|
855
|
+
});
|
|
856
|
+
}
|
|
857
|
+
return result;
|
|
836
858
|
}
|
|
837
859
|
}
|
|
838
860
|
/**
|
|
839
861
|
* Fill a form field.
|
|
840
862
|
*/
|
|
841
|
-
async fill(selector, value) {
|
|
863
|
+
async fill(selector, value, options = {}) {
|
|
842
864
|
const page = await this.getPage();
|
|
843
865
|
try {
|
|
844
866
|
const element = await this.findElement(selector);
|
|
845
867
|
if (!element) {
|
|
846
|
-
|
|
868
|
+
const result = {
|
|
847
869
|
success: false,
|
|
848
870
|
screenshot: await this.screenshot(),
|
|
849
871
|
message: `Element not found: ${selector}`,
|
|
850
872
|
};
|
|
873
|
+
if (options.verbose) {
|
|
874
|
+
const available = await this.getAvailableInputs(page);
|
|
875
|
+
result.availableInputs = available;
|
|
876
|
+
result.aiSuggestion = this.generateFillSuggestion(selector, available);
|
|
877
|
+
result.debugScreenshot = await this.captureDebugScreenshot(page, {
|
|
878
|
+
availableSelectors: available.map(e => e.selector),
|
|
879
|
+
attemptedSelector: selector,
|
|
880
|
+
debugDir: options.debugDir,
|
|
881
|
+
});
|
|
882
|
+
}
|
|
883
|
+
return result;
|
|
851
884
|
}
|
|
852
885
|
await element.fill(value);
|
|
853
886
|
this.audit("fill", selector, "yellow", "success");
|
|
@@ -859,11 +892,22 @@ class CBrowser {
|
|
|
859
892
|
}
|
|
860
893
|
catch (error) {
|
|
861
894
|
this.audit("fill", selector, "yellow", "failure");
|
|
862
|
-
|
|
895
|
+
const result = {
|
|
863
896
|
success: false,
|
|
864
897
|
screenshot: await this.screenshot(),
|
|
865
898
|
message: `Failed to fill: ${error instanceof Error ? error.message : String(error)}`,
|
|
866
899
|
};
|
|
900
|
+
if (options.verbose) {
|
|
901
|
+
const available = await this.getAvailableInputs(page);
|
|
902
|
+
result.availableInputs = available;
|
|
903
|
+
result.aiSuggestion = this.generateFillSuggestion(selector, available);
|
|
904
|
+
result.debugScreenshot = await this.captureDebugScreenshot(page, {
|
|
905
|
+
availableSelectors: available.map(e => e.selector),
|
|
906
|
+
attemptedSelector: selector,
|
|
907
|
+
debugDir: options.debugDir,
|
|
908
|
+
});
|
|
909
|
+
}
|
|
910
|
+
return result;
|
|
867
911
|
}
|
|
868
912
|
}
|
|
869
913
|
// =========================================================================
|
|
@@ -1775,6 +1819,128 @@ class CBrowser {
|
|
|
1775
1819
|
}
|
|
1776
1820
|
return code;
|
|
1777
1821
|
}
|
|
1822
|
+
// =========================================================================
|
|
1823
|
+
// Verbose Debug Helpers (v7.4.16)
|
|
1824
|
+
// =========================================================================
|
|
1825
|
+
/**
|
|
1826
|
+
* Get all clickable elements on the page for verbose output.
|
|
1827
|
+
*/
|
|
1828
|
+
async getAvailableClickables(page) {
|
|
1829
|
+
try {
|
|
1830
|
+
return await page.$$eval('button, a, [role="button"], input[type="submit"], input[type="button"]', els => els.slice(0, 15).map((el, i) => ({
|
|
1831
|
+
tag: el.tagName.toLowerCase(),
|
|
1832
|
+
text: el.innerText?.trim().substring(0, 60) || el.getAttribute("aria-label") || "",
|
|
1833
|
+
selector: el.id ? `#${el.id}` : el.getAttribute("data-testid") ? `[data-testid="${el.getAttribute("data-testid")}"]` : `${el.tagName.toLowerCase()}:nth-of-type(${i + 1})`,
|
|
1834
|
+
role: el.getAttribute("role") || undefined,
|
|
1835
|
+
})));
|
|
1836
|
+
}
|
|
1837
|
+
catch {
|
|
1838
|
+
return [];
|
|
1839
|
+
}
|
|
1840
|
+
}
|
|
1841
|
+
/**
|
|
1842
|
+
* Get all input fields on the page for verbose output.
|
|
1843
|
+
*/
|
|
1844
|
+
async getAvailableInputs(page) {
|
|
1845
|
+
try {
|
|
1846
|
+
return await page.$$eval('input, textarea, select', els => els.slice(0, 15).map(el => {
|
|
1847
|
+
const input = el;
|
|
1848
|
+
// Find associated label
|
|
1849
|
+
let label = "";
|
|
1850
|
+
if (input.id) {
|
|
1851
|
+
const labelEl = document.querySelector(`label[for="${input.id}"]`);
|
|
1852
|
+
if (labelEl)
|
|
1853
|
+
label = labelEl.innerText?.trim().substring(0, 50) || "";
|
|
1854
|
+
}
|
|
1855
|
+
if (!label && input.closest("label")) {
|
|
1856
|
+
label = input.closest("label").innerText?.trim().substring(0, 50) || "";
|
|
1857
|
+
}
|
|
1858
|
+
return {
|
|
1859
|
+
selector: input.id ? `#${input.id}` : input.name ? `[name="${input.name}"]` : input.placeholder ? `[placeholder="${input.placeholder}"]` : `${el.tagName.toLowerCase()}`,
|
|
1860
|
+
type: input.type || el.tagName.toLowerCase(),
|
|
1861
|
+
name: input.name || "",
|
|
1862
|
+
placeholder: input.placeholder || "",
|
|
1863
|
+
label,
|
|
1864
|
+
};
|
|
1865
|
+
}));
|
|
1866
|
+
}
|
|
1867
|
+
catch {
|
|
1868
|
+
return [];
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
/**
|
|
1872
|
+
* Generate AI suggestion for a failed click.
|
|
1873
|
+
*/
|
|
1874
|
+
generateClickSuggestion(selector, available) {
|
|
1875
|
+
if (available.length === 0) {
|
|
1876
|
+
return `No clickable elements found on the page. The page may still be loading.`;
|
|
1877
|
+
}
|
|
1878
|
+
const list = available.slice(0, 8).map(e => ` • ${e.tag}: "${e.text}" → ${e.selector}`).join("\n");
|
|
1879
|
+
return `Element "${selector}" not found.\n\nAvailable clickable elements:\n${list}\n\nTry using the exact text or selector from one of these elements.`;
|
|
1880
|
+
}
|
|
1881
|
+
/**
|
|
1882
|
+
* Generate AI suggestion for a failed fill.
|
|
1883
|
+
*/
|
|
1884
|
+
generateFillSuggestion(selector, available) {
|
|
1885
|
+
if (available.length === 0) {
|
|
1886
|
+
return `No input fields found on the page. The page may still be loading.`;
|
|
1887
|
+
}
|
|
1888
|
+
const list = available.slice(0, 8).map(e => {
|
|
1889
|
+
const desc = e.label || e.placeholder || e.name || e.type;
|
|
1890
|
+
return ` • ${desc} (${e.type}) → ${e.selector}`;
|
|
1891
|
+
}).join("\n");
|
|
1892
|
+
return `Input "${selector}" not found.\n\nAvailable input fields:\n${list}\n\nTry using the name, placeholder, or label text from one of these fields.`;
|
|
1893
|
+
}
|
|
1894
|
+
/**
|
|
1895
|
+
* Capture a debug screenshot with element highlighting.
|
|
1896
|
+
* Green outlines = available alternatives, Red outline = attempted selector.
|
|
1897
|
+
*/
|
|
1898
|
+
async captureDebugScreenshot(page, options) {
|
|
1899
|
+
try {
|
|
1900
|
+
// Inject CSS highlights
|
|
1901
|
+
await page.evaluate((opts) => {
|
|
1902
|
+
// Highlight available elements in green
|
|
1903
|
+
for (const sel of opts.availableSelectors || []) {
|
|
1904
|
+
try {
|
|
1905
|
+
const el = document.querySelector(sel);
|
|
1906
|
+
if (el) {
|
|
1907
|
+
el.style.outline = "3px solid #22c55e";
|
|
1908
|
+
el.style.outlineOffset = "2px";
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
catch { }
|
|
1912
|
+
}
|
|
1913
|
+
// Mark attempted element in red
|
|
1914
|
+
if (opts.attemptedSelector) {
|
|
1915
|
+
try {
|
|
1916
|
+
const el = document.querySelector(opts.attemptedSelector);
|
|
1917
|
+
if (el) {
|
|
1918
|
+
el.style.outline = "3px solid #ef4444";
|
|
1919
|
+
el.style.outlineOffset = "2px";
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1922
|
+
catch { }
|
|
1923
|
+
}
|
|
1924
|
+
}, { availableSelectors: options.availableSelectors, attemptedSelector: options.attemptedSelector });
|
|
1925
|
+
// Take screenshot
|
|
1926
|
+
const dir = options.debugDir || this.paths.screenshotsDir;
|
|
1927
|
+
const filename = `debug-${Date.now()}.png`;
|
|
1928
|
+
const filepath = (0, path_1.join)(dir, filename);
|
|
1929
|
+
await page.screenshot({ path: filepath, fullPage: false });
|
|
1930
|
+
// Clean up highlights
|
|
1931
|
+
await page.evaluate(() => {
|
|
1932
|
+
const highlighted = document.querySelectorAll('[style*="outline"]');
|
|
1933
|
+
for (let i = 0; i < highlighted.length; i++) {
|
|
1934
|
+
highlighted[i].style.outline = "";
|
|
1935
|
+
highlighted[i].style.outlineOffset = "";
|
|
1936
|
+
}
|
|
1937
|
+
});
|
|
1938
|
+
return filepath;
|
|
1939
|
+
}
|
|
1940
|
+
catch {
|
|
1941
|
+
return await this.screenshot();
|
|
1942
|
+
}
|
|
1943
|
+
}
|
|
1778
1944
|
/**
|
|
1779
1945
|
* Analyze a failure and provide AI-powered suggestions.
|
|
1780
1946
|
*/
|