Skip to content

Commit c1ac15c

Browse files
authored
fix(browser): locator.element() returns HTMLElement or SVGElement (#8440)
1 parent a400a9d commit c1ac15c

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

packages/browser/context.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -544,15 +544,15 @@ export interface Locator extends LocatorSelectors {
544544
*
545545
* @see {@link https://vitest.dev/guide/browser/locators#element}
546546
*/
547-
element(): Element
547+
element(): HTMLElement | SVGElement
548548
/**
549549
* Returns an array of elements matching the selector.
550550
*
551551
* If no elements match the selector, an empty array is returned.
552552
*
553553
* @see {@link https://vitest.dev/guide/browser/locators#elements}
554554
*/
555-
elements(): Element[]
555+
elements(): (HTMLElement | SVGElement)[]
556556
/**
557557
* Returns an element matching the selector.
558558
*
@@ -561,7 +561,7 @@ export interface Locator extends LocatorSelectors {
561561
*
562562
* @see {@link https://vitest.dev/guide/browser/locators#query}
563563
*/
564-
query(): Element | null
564+
query(): HTMLElement | SVGElement | null
565565
/**
566566
* Wraps an array of `.elements()` matching the selector in a new `Locator`.
567567
*

packages/browser/src/client/tester/locators/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,22 +204,22 @@ export abstract class Locator {
204204
return this.locator(`internal:or=${JSON.stringify(locator._pwSelector || locator.selector)}`)
205205
}
206206

207-
public query(): Element | null {
207+
public query(): HTMLElement | SVGElement | null {
208208
const parsedSelector = this._parsedSelector || (this._parsedSelector = selectorEngine.parseSelector(this._pwSelector || this.selector))
209-
return selectorEngine.querySelector(parsedSelector, document.documentElement, true)
209+
return selectorEngine.querySelector(parsedSelector, document.documentElement, true) as HTMLElement | SVGElement
210210
}
211211

212-
public element(): Element {
212+
public element(): HTMLElement | SVGElement {
213213
const element = this.query()
214214
if (!element) {
215215
throw getElementError(this._pwSelector || this.selector, this._container || document.body)
216216
}
217217
return element
218218
}
219219

220-
public elements(): Element[] {
220+
public elements(): (HTMLElement | SVGElement)[] {
221221
const parsedSelector = this._parsedSelector || (this._parsedSelector = selectorEngine.parseSelector(this._pwSelector || this.selector))
222-
return selectorEngine.querySelectorAll(parsedSelector, document.documentElement)
222+
return selectorEngine.querySelectorAll(parsedSelector, document.documentElement) as (HTMLElement | SVGElement)[]
223223
}
224224

225225
public all(): Locator[] {

0 commit comments

Comments
 (0)