From f09cb3fc73b38e8c681655ff3b921ab9367c4de3 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Tue, 3 Sep 2024 06:13:26 +0530 Subject: [PATCH] fix: check type of className --- server/src/workflow-management/selector.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/server/src/workflow-management/selector.ts b/server/src/workflow-management/selector.ts index aacc9a5e..09b8b88f 100644 --- a/server/src/workflow-management/selector.ts +++ b/server/src/workflow-management/selector.ts @@ -786,14 +786,16 @@ export const getNonUniqueSelectors = async (page: Page, coordinates: Coordinates }; -export const getChildSelectors = async (page: Page, parentSelector: string, maxDepth: number = 2): Promise => { +export const getChildSelectors = async (page: Page, parentSelector: string, maxDepth: number = 5): Promise => { try { const childSelectors = await page.evaluate(({ parentSelector, maxDepth }: { parentSelector: string, maxDepth: number }) => { function getNonUniqueSelector(element: HTMLElement): string { let selector = element.tagName.toLowerCase(); - if (element.className) { - const classes = element.className.split(/\s+/).filter((cls: string) => Boolean(cls)); + // Ensure that className is a string before splitting + const className = typeof element.className === 'string' ? element.className : ''; + if (className) { + const classes = className.split(/\s+/).filter((cls: string) => Boolean(cls)); if (classes.length > 0) { const validClasses = classes.filter((cls: string) => !cls.startsWith('!') && !cls.includes(':')); if (validClasses.length > 0) {