karishmas6
|
71cd95a1a2
|
feat: generate selector for attributes
|
2024-06-06 05:08:57 +05:30 |
|
karishmas6
|
f5af410064
|
feat: get all attributed that are !null
|
2024-06-06 05:07:59 +05:30 |
|
karishmas6
|
23a96b8118
|
feat: check if attribute defined
|
2024-06-06 05:07:03 +05:30 |
|
karishmas6
|
81faceb2f7
|
feat: add attribute value iff val !null & len > 0
|
2024-06-06 05:05:10 +05:30 |
|
karishmas6
|
943e718130
|
feat: filter attributes
|
2024-06-06 05:04:32 +05:30 |
|
karishmas6
|
67827f9202
|
feat: create a new Set object to store unique attribute values
|
2024-06-06 05:03:43 +05:30 |
|
karishmas6
|
90de043ba5
|
feat: generate CSS selectors targeting a given HTML el based on its tag name, class names, attributes, & potential test IDs
|
2024-06-06 05:00:16 +05:30 |
|
karishmas6
|
e7a3d146df
|
feat: remove spaces after \HEX escapes that are not followed by a hex digit
|
2024-06-06 01:26:33 +05:30 |
|
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 |
|