Merge pull request #600 from getmaxun/link-container

feat: override anchor container selection
This commit is contained in:
Karishma Shukla
2025-05-23 13:32:55 +05:30
committed by GitHub

View File

@@ -332,6 +332,28 @@ export const getElementInformation = async (
let deepestElement = findContainerElement(elements);
if (!deepestElement) return null;
if (deepestElement.tagName === 'A') {
for (let i = 1; i < elements.length; i++) {
const sibling = elements[i];
if (!deepestElement.contains(sibling) && !sibling.contains(deepestElement)) {
const anchorRect = deepestElement.getBoundingClientRect();
const siblingRect = sibling.getBoundingClientRect();
const isOverlapping = !(
siblingRect.right < anchorRect.left ||
siblingRect.left > anchorRect.right ||
siblingRect.bottom < anchorRect.top ||
siblingRect.top > anchorRect.bottom
);
if (isOverlapping) {
deepestElement = sibling;
break;
}
}
}
}
const traverseShadowDOM = (element: HTMLElement): HTMLElement => {
let current = element;
@@ -3034,4 +3056,4 @@ export const isRuleOvershadowing = async (selectors: string[], page: Page): Prom
}
}
return true;
}
}