From 27114967a5024cd94759489e817e1181a1968099 Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Wed, 23 Oct 2024 15:23:21 +0200 Subject: [PATCH] only wrap css/xpath selectors in locatorFrame --- .../src/utils/isomorphic/locatorGenerators.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts b/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts index 1e567a6bfa..aeb1246c13 100644 --- a/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts +++ b/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts @@ -164,11 +164,12 @@ function innerAsLocators(factory: LocatorFactory, parsed: ParsedSelector, isFram const extendedTokens = lastTokens.map(token => factory.chainLocators([token, factory.generateLocator(base, 'frame', '')]) ); - extendedTokens.push( - factory.generateLocator(base, 'frame-locator', stringifySelector({ parts: [lastPart] })) - ); - if (['xpath', 'css'].includes(lastPart.name)) - extendedTokens.push(factory.generateLocator(base, 'frame-locator', stringifySelector({ parts: [lastPart] }, true))); + if (['xpath', 'css'].includes(lastPart.name)) { + extendedTokens.push( + factory.generateLocator(base, 'frame-locator', stringifySelector({ parts: [lastPart] })), + factory.generateLocator(base, 'frame-locator', stringifySelector({ parts: [lastPart] }, true)) + ); + } lastTokens.splice(0, lastTokens.length, ...extendedTokens); nextBase = 'frame-locator';