fix(upload): actionable error when file upload hits the extension-relay limit (#13)
DOM.setFileInputFiles is forbidden by Chrome's chrome.debugger API, so upload always fails over the extension relay with an opaque -32000 "Not allowed". Map it to a clear message: file upload needs a --launch/direct-CDP session, and point at the cookies export|set --curl workaround. Note the limit in the core skill upload line too.
This commit is contained in:
@@ -1593,7 +1593,25 @@ impl BrowserManager {
|
|||||||
})),
|
})),
|
||||||
Some(&effective_session_id),
|
Some(&effective_session_id),
|
||||||
)
|
)
|
||||||
.await?;
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
|
// Chrome's chrome.debugger API (the extension-relay transport)
|
||||||
|
// forbids DOM.setFileInputFiles for security, surfacing as an
|
||||||
|
// opaque `-32000 "Not allowed"`. Translate it into an actionable
|
||||||
|
// message rather than leaking the raw CDP error (issue #13).
|
||||||
|
if e.contains("Not allowed") || e.contains("-32000") {
|
||||||
|
"file upload isn't supported over the extension relay — \
|
||||||
|
Chrome's chrome.debugger API forbids DOM.setFileInputFiles. \
|
||||||
|
Use a direct-CDP session instead: \
|
||||||
|
`chrome-use --session up --launch open <url>` (carry your \
|
||||||
|
login over with `cookies export` | `cookies set --curl`), \
|
||||||
|
then run `upload` in that session. \
|
||||||
|
See https://github.com/leeguooooo/chrome-use/issues/13"
|
||||||
|
.to_string()
|
||||||
|
} else {
|
||||||
|
e
|
||||||
|
}
|
||||||
|
})?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -240,7 +240,11 @@ chrome-use pick @e4 --option "Europe" # ANY combobox (react-select / ARIA /
|
|||||||
# (no silent no-op). Use this for custom
|
# (no silent no-op). Use this for custom
|
||||||
# dropdowns where `select` returns ✓ but
|
# dropdowns where `select` returns ✓ but
|
||||||
# changes nothing.
|
# changes nothing.
|
||||||
chrome-use upload @e5 file1.pdf # upload file(s)
|
chrome-use upload @e5 file1.pdf # upload file(s) — NOTE: needs a --launch/direct-CDP
|
||||||
|
# session. Over the extension relay it CANNOT work
|
||||||
|
# (Chrome's chrome.debugger forbids it); chrome-use
|
||||||
|
# errors with a hint. Carry your login into a launched
|
||||||
|
# session via `cookies export` | `cookies set --curl`.
|
||||||
chrome-use scroll down 500 # scroll page (up/down/left/right)
|
chrome-use scroll down 500 # scroll page (up/down/left/right)
|
||||||
chrome-use scrollintoview @e1 # scroll element into view
|
chrome-use scrollintoview @e1 # scroll element into view
|
||||||
chrome-use drag @e1 @e2 # drag and drop
|
chrome-use drag @e1 @e2 # drag and drop
|
||||||
|
|||||||
Reference in New Issue
Block a user