Commit Graph

276 Commits

Author SHA1 Message Date
karishmas6
358efd6dea feat: handle edge cases for valid selectors starting with hyphen or numbers 2024-06-06 01:25:44 +05:30
karishmas6
e241a7a99b feat: ASCII & alphanumeric characters 2024-06-06 01:24:50 +05:30
karishmas6
52d74f9ea4 feat: validate quotes to be single or double 2024-06-06 01:23:26 +05:30
karishmas6
88e6a53c6e feat: regex for CSS selectors 2024-06-06 00:52:04 +05:30
karishmas6
ff3687c1fd feat: check if the modified path still uniquely identifies the element: 2024-06-06 00:35:21 +05:30
karishmas6
e0072bdff9 feat: skip if this modified path has already been explored 2024-06-06 00:34:56 +05:30
karishmas6
28963cb96f feat: Convert the modified path to a selector string 2024-06-06 00:34:17 +05:30
karishmas6
27e9945395 feat: remove el at the current index from the copy 2024-06-06 00:33:49 +05:30
karishmas6
cc7cd09b03 feat: create a copy of the path to avoid og modification 2024-06-06 00:32:46 +05:30
karishmas6
4efd177406 feat: loop through each el in the path except the first and last 2024-06-06 00:31:56 +05:30
karishmas6
36c0af28c5 feat: check if path len is longer than 2 els & meets min optimization len 2024-06-06 00:30:48 +05:30
karishmas6
ad61b2a0b1 feat: generator fxn to optimize given CSS selector path 2024-06-06 00:28:15 +05:30
karishmas6
fff6149fef feat: check if provided CSS sel path selects the same el as input el 2024-06-06 00:27:18 +05:30
karishmas6
6d3ba935c1 feat: type Scope to keep track of info during optimization 2024-06-06 00:25:49 +05:30
karishmas6
710405024b feat: sort a list of selector paths based on their penalty scores 2024-06-05 23:43:00 +05:30
karishmas6
134b29ecb9 feat: recursively generate all possible combinations of selector nodes fromprovided stack 2024-06-05 23:42:27 +05:30
karishmas6
0dd469eae6 feat: helper fxn to check null vals 2024-06-05 23:39:55 +05:30
karishmas6
4af7caf0aa feat: filter null/undefined vals from potential selector nodes 2024-06-05 23:38:36 +05:30
karishmas6
531a2ba6bd feat: check if ::nth-child() psuedo-class selector be omitted 2024-06-05 23:28:11 +05:30
karishmas6
d5f1fcffdd feat: increase penalty compared to base node 2024-06-05 23:27:20 +05:30
karishmas6
37a1879c93 feat: create selector node representing :nth-chil()d pseudo-class 2024-06-05 23:26:56 +05:30
karishmas6
ae4d58ab0b feat: calculate els position among siblings (assume parent el) 2024-06-05 23:25:31 +05:30
karishmas6
e752166343 feat: return selector node representing wildcard selector with highest degree penalty 3 2024-06-05 23:24:38 +05:30
karishmas6
161af107ec feat: check if el tag name valid 2024-06-05 23:23:38 +05:30
karishmas6
aba844e4a4 feat: create selector nodes for each valid class name 2024-06-05 23:22:59 +05:30
karishmas6
16e617405e feat: retrive class selectors for el 2024-06-05 23:22:34 +05:30
karishmas6
aeed80ee8d feat: create selector nodes for each valid attr 2024-06-05 23:21:48 +05:30
karishmas6
cf3b56d343 feat: retrive attribute selectors for el 2024-06-05 23:20:34 +05:30
karishmas6
66ad8e9c28 feat: check if id valid as per idName 2024-06-05 23:19:40 +05:30
karishmas6
fe39d8620f feat: check if el has unique id 2024-06-05 23:19:17 +05:30
karishmas6
139c22ba83 feat: check if a CSS selector path identifies a unique el on webpage 2024-06-05 22:48:55 +05:30
karishmas6
40100eb495 feat: calculates a penalty score based on a CSS selector pat. 2024-06-05 22:36:53 +05:30
karishmas6
82a447cd5d feat: move on to next el in the path 2024-06-05 22:34:02 +05:30
karishmas6
3d96faf9ac feat: sibling / ancestor 2024-06-05 22:33:41 +05:30
karishmas6
223f09f93d feat: child selector (direct descendant) 2024-06-05 22:33:06 +05:30
karishmas6
f3a1e7b9f6 feat: get the element's level (depth in DOM tree) 2024-06-05 22:32:19 +05:30
karishmas6
8e2b0b4550 feat: intialize query string with first query name 2024-06-05 22:31:33 +05:30
karishmas6
7ba43ec3d7 feat: start with the first element in the path 2024-06-05 22:31:05 +05:30
karishmas6
1261994899 feat: return first unique path found 2024-06-05 22:28:15 +05:30
karishmas6
1eeb73b93e feat: try each candidate path to see if it uniquely identifies an element on the webpage 2024-06-05 22:27:41 +05:30
karishmas6
6dda179409 feat: use fallback if too many combinations found 2024-06-05 22:19:52 +05:30
karishmas6
76ff3392d3 feat: sort all possible combinations of selectors from the stack 2024-06-05 22:16:18 +05:30
karishmas6
4e2c80d056 feat: bottom up search by traversing the DOM tree upwards from the element for CSS selector 2024-06-05 11:41:56 +05:30
karishmas6
ee624361ff feat: if path, sort, optimize path & input 2024-06-05 10:45:51 +05:30
karishmas6
1afd38f1c0 feat: use bottomUpSearch for path 2024-06-05 10:45:15 +05:30
karishmas6
4dd35d599b feat: html handle 2024-06-05 10:44:19 +05:30
karishmas6
ebd82480e1 feat: throw err for non-element node type 2024-06-05 10:44:01 +05:30
karishmas6
01f3381289 feat: types for Node 2024-06-05 10:42:00 +05:30
karishmas6
24bdea4c10 feat: find root document 2024-06-05 10:36:27 +05:30
karishmas6
a2d4dfb68c feat: implement finder for selector generation 2024-06-05 10:36:06 +05:30