fix: pagination detection all types

This commit is contained in:
Rohit Rajan
2025-12-11 21:25:36 +05:30
parent 7cff7c4da9
commit 4265a2ea1c
2 changed files with 32 additions and 12 deletions

View File

@@ -2124,20 +2124,11 @@
}
const infiniteScrollScore = (options && options.disableScrollDetection)
? 0
? 0
: detectInfiniteScrollScore();
const hasStrongInfiniteScrollSignals = infiniteScrollScore >= 8;
const hasMediumInfiniteScrollSignals = infiniteScrollScore >= 5 && infiniteScrollScore < 8;
if (hasStrongInfiniteScrollSignals) {
const confidence = infiniteScrollScore >= 12 ? 'high' : infiniteScrollScore >= 10 ? 'medium' : 'low';
return {
type: 'scrollDown',
selector: null,
confidence: confidence
};
}
if (loadMoreButton && loadMoreScore >= 15) {
const selector = generatePaginationSelector(loadMoreButton);
return {
@@ -2147,7 +2138,7 @@
};
}
if (nextButton && nextButtonScore >= 15 && !hasMediumInfiniteScrollSignals) {
if (nextButton && nextButtonScore >= 15) {
const selector = generatePaginationSelector(nextButton);
return {
type: 'clickNext',
@@ -2156,6 +2147,35 @@
};
}
if (hasStrongInfiniteScrollSignals) {
const confidence = infiniteScrollScore >= 12 ? 'high' : infiniteScrollScore >= 10 ? 'medium' : 'low';
return {
type: 'scrollDown',
selector: null,
confidence: confidence
};
}
if (loadMoreButton && loadMoreScore >= 10) {
const selector = generatePaginationSelector(loadMoreButton);
const confidence = 'medium';
return {
type: 'clickLoadMore',
selector: selector,
confidence: confidence
};
}
if (nextButton && nextButtonScore >= 10) {
const selector = generatePaginationSelector(nextButton);
const confidence = 'medium';
return {
type: 'clickNext',
selector: selector,
confidence: confidence
};
}
if (hasMediumInfiniteScrollSignals) {
const confidence = infiniteScrollScore >= 7 ? 'medium' : 'low';
return {

View File

@@ -315,7 +315,7 @@ export class SelectorValidator {
const win = window as any;
if (typeof win.autoDetectPagination === 'function') {
const result = win.autoDetectPagination(selector, { disableScrollDetection: false });
const result = win.autoDetectPagination(selector);
return result;
} else {
console.error('autoDetectPagination function not found!');