From 139c22ba83fb8447d4e1068b882ebf2d3963adf0 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Wed, 5 Jun 2024 22:48:55 +0530 Subject: [PATCH] feat: check if a CSS selector path identifies a unique el on webpage --- server/src/workflow-management/selector.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/src/workflow-management/selector.ts b/server/src/workflow-management/selector.ts index a05957df..a8c45ecf 100644 --- a/server/src/workflow-management/selector.ts +++ b/server/src/workflow-management/selector.ts @@ -290,6 +290,19 @@ export const getSelectors = async (page: Page, coordinates: Coordinates) => { return path.map((node) => node.penalty).reduce((acc, i) => acc + i, 0); } + function unique(path: Path) { + switch (rootDocument.querySelectorAll(selector(path)).length) { + case 0: + throw new Error( + `Can't select any node with this selector: ${selector(path)}` + ); + case 1: + return true; + default: + return false; + } + } + };