feat: add rel selector for pagination elements
This commit is contained in:
@@ -1427,6 +1427,7 @@ export const getSelectors = async (page: Page, coordinates: Coordinates) => {
|
|||||||
const iframeSelector = genSelectorForIframe(element);
|
const iframeSelector = genSelectorForIframe(element);
|
||||||
const shadowSelector = genSelectorForShadowDOM(element);
|
const shadowSelector = genSelectorForShadowDOM(element);
|
||||||
|
|
||||||
|
const relSelector = genSelectorForAttributes(element, ['rel']);
|
||||||
const hrefSelector = genSelectorForAttributes(element, ['href']);
|
const hrefSelector = genSelectorForAttributes(element, ['href']);
|
||||||
const formSelector = genSelectorForAttributes(element, [
|
const formSelector = genSelectorForAttributes(element, [
|
||||||
'name',
|
'name',
|
||||||
@@ -1473,6 +1474,7 @@ export const getSelectors = async (page: Page, coordinates: Coordinates) => {
|
|||||||
hrefSelector,
|
hrefSelector,
|
||||||
accessibilitySelector,
|
accessibilitySelector,
|
||||||
formSelector,
|
formSelector,
|
||||||
|
relSelector,
|
||||||
iframeSelector: iframeSelector ? {
|
iframeSelector: iframeSelector ? {
|
||||||
full: iframeSelector.fullSelector,
|
full: iframeSelector.fullSelector,
|
||||||
isIframe: iframeSelector.isFrameContent,
|
isIframe: iframeSelector.isFrameContent,
|
||||||
@@ -1509,6 +1511,11 @@ export const getSelectors = async (page: Page, coordinates: Coordinates) => {
|
|||||||
function genSelectorForAttributes(element: HTMLElement, attributes: string[]) {
|
function genSelectorForAttributes(element: HTMLElement, attributes: string[]) {
|
||||||
let selector = null;
|
let selector = null;
|
||||||
try {
|
try {
|
||||||
|
if (attributes.includes('rel') && element.hasAttribute('rel')) {
|
||||||
|
const relValue = element.getAttribute('rel');
|
||||||
|
return `[rel="${relValue}"]`;
|
||||||
|
}
|
||||||
|
|
||||||
selector = isAttributesDefined(element, attributes)
|
selector = isAttributesDefined(element, attributes)
|
||||||
? finder(element, {
|
? finder(element, {
|
||||||
idName: () => false, // Don't use the id to generate a selector
|
idName: () => false, // Don't use the id to generate a selector
|
||||||
|
|||||||
Reference in New Issue
Block a user