Merge pull request #493 from getmaxun/rect-fix

fix: improve list container detection and highlighting
This commit is contained in:
Karishma Shukla
2025-03-21 14:25:57 +05:30
committed by GitHub

View File

@@ -337,7 +337,24 @@ export const getElementInformation = async (
return deepestElement;
};
let deepestElement = findDeepestElement(elements);
// Logic to get list container element
let targetElement = null;
for (const element of elements) {
const deepestEl = findDeepestElement(elements);
if (deepestEl && element !== deepestEl) {
if (element.contains(deepestEl) &&
element !== deepestEl.parentElement &&
element.tagName !== 'HTML' &&
element.tagName !== 'BODY') {
targetElement = element;
break;
}
}
}
let deepestElement = targetElement || findDeepestElement(elements);
if (!deepestElement) return null;
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
@@ -854,7 +871,24 @@ export const getRect = async (page: Page, coordinates: Coordinates, listSelector
return deepestElement;
};
let deepestElement = findDeepestElement(elements);
// Logic to get list container element
let targetElement = null;
for (const element of elements) {
const deepestEl = findDeepestElement(elements);
if (deepestEl && element !== deepestEl) {
if (element.contains(deepestEl) &&
element !== deepestEl.parentElement &&
element.tagName !== 'HTML' &&
element.tagName !== 'BODY') {
targetElement = element;
break;
}
}
}
let deepestElement = targetElement || findDeepestElement(elements);
if (!deepestElement) return null;
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
@@ -2036,7 +2070,24 @@ export const getNonUniqueSelectors = async (page: Page, coordinates: Coordinates
return deepestElement;
};
let deepestElement = findDeepestElement(elements);
// Logic to get list container element
let targetElement = null;
for (const element of elements) {
const deepestEl = findDeepestElement(elements);
if (deepestEl && element !== deepestEl) {
if (element.contains(deepestEl) &&
element !== deepestEl.parentElement &&
element.tagName !== 'HTML' &&
element.tagName !== 'BODY') {
targetElement = element;
break;
}
}
}
let deepestElement = targetElement || findDeepestElement(elements);
if (!deepestElement) return null;
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {