MCPcopy
hub / github.com/vuejs/core / waitForSelector

Function waitForSelector

packages/vue/__tests__/e2e/e2eBrowserUtils.ts:251–279  ·  view source on GitHub ↗
(selector)

Source from the content-addressed store, hash-verified

249 },
250
251 async waitForSelector(selector) {
252 const existing = document.querySelector(selector)
253 if (existing) {
254 return existing
255 }
256
257 return await new Promise<Element>((resolve, reject) => {
258 const observer = new MutationObserver(() => {
259 const el = document.querySelector(selector)
260 if (el) {
261 cleanup()
262 resolve(el)
263 }
264 })
265 const timer = setTimeout(() => {
266 cleanup()
267 reject(new Error(`Timed out waiting for selector: ${selector}`))
268 }, 1000)
269 const cleanup = () => {
270 clearTimeout(timer)
271 observer.disconnect()
272 }
273
274 observer.observe(document.documentElement, {
275 childList: true,
276 subtree: true,
277 })
278 })
279 },
280
281 async evaluate(fn: (...args: any[]) => any, arg?: unknown) {
282 const result = await fn(arg)

Callers

nothing calls this directly

Calls 3

querySelectorMethod · 0.80
cleanupFunction · 0.70
resolveFunction · 0.50

Tested by

no test coverage detected