Merge pull request #493 from getmaxun/rect-fix
fix: improve list container detection and highlighting
This commit is contained in:
@@ -337,7 +337,24 @@ export const getElementInformation = async (
|
|||||||
return deepestElement;
|
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;
|
if (!deepestElement) return null;
|
||||||
|
|
||||||
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
|
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
|
||||||
@@ -854,7 +871,24 @@ export const getRect = async (page: Page, coordinates: Coordinates, listSelector
|
|||||||
return deepestElement;
|
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;
|
if (!deepestElement) return null;
|
||||||
|
|
||||||
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
|
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
|
||||||
@@ -2036,7 +2070,24 @@ export const getNonUniqueSelectors = async (page: Page, coordinates: Coordinates
|
|||||||
return deepestElement;
|
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;
|
if (!deepestElement) return null;
|
||||||
|
|
||||||
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
|
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
|
||||||
|
|||||||
Reference in New Issue
Block a user