diff --git a/packages/playwright-core/src/server/dom.ts b/packages/playwright-core/src/server/dom.ts index 9a261d50a1..a6cf6178c1 100644 --- a/packages/playwright-core/src/server/dom.ts +++ b/packages/playwright-core/src/server/dom.ts @@ -199,10 +199,10 @@ export class ElementHandle extends js.JSHandle { async inputValue(): Promise { return throwRetargetableDOMError(await this.evaluateInUtility(([injected, node]) => { - if (node.nodeType !== Node.ELEMENT_NODE || (node.nodeName !== 'INPUT' && node.nodeName !== 'TEXTAREA' && node.nodeName !== 'SELECT')) + const element = injected.retarget(node, 'follow-label'); + if (!element || (element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA' && element.nodeName !== 'SELECT')) throw injected.createStacklessError('Node is not an ,