GopeedLab/gopeed · error · Error

element is readonly: ${selector}

Error message

element is readonly: ${selector}

What it means

Error "element is readonly: ${selector}" thrown in GopeedLab/gopeed.

Source

Thrown at pkg/download/engine/webview/runtime.go:238

func (p *PageHandle) Type(selector string, text string, opts ...map[string]any) error {
	typeOpts := parseTypeOptions(firstMap(opts))
	_, err := p.Execute(`(selector, text, delayMS) => {
		const element = document.querySelector(selector);
		if (!element) {
			throw new Error("element not found: " + selector);
		}
		if (typeof element.focus === "function") {
			element.focus();
		}
		const emitInput = () => {
			element.dispatchEvent(new Event("input", { bubbles: true }));
		};
		const insertIntoInput = (chunk) => {
			if (element.disabled) {
				throw new Error("element is disabled: " + selector);
			}
			if (element.readOnly) {
				throw new Error("element is readonly: " + selector);
			}
			const value = typeof element.value === "string" ? element.value : "";
			const hasSelection = typeof element.selectionStart === "number" && typeof element.selectionEnd === "number";
			const start = hasSelection ? element.selectionStart : value.length;
			const end = hasSelection ? element.selectionEnd : value.length;
			element.value = value.slice(0, start) + chunk + value.slice(end);
			const caret = start + chunk.length;
			if (typeof element.setSelectionRange === "function") {
				element.setSelectionRange(caret, caret);
			}
			emitInput();
		};
		const insertIntoEditable = (chunk) => {
			if (element.isContentEditable) {
				element.textContent = (element.textContent || "") + chunk;
				emitInput();
				return;
			}

View on GitHub (pinned to 7b7327ffb3)

When it happens

Trigger: Thrown at pkg/download/engine/webview/runtime.go:238 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of GopeedLab/gopeed@7b7327ffb3 (2026-08-16). Data as JSON: /api/errors/b811c941b272c920. Report an issue: GitHub.