Closed LeonMarchetti closed 5 months ago
Ejemplo de navegador:
/** Navigates within a Mercado Libre search pages */
class MercadoLibreNavigator extends Navigator {
constructor() {
super();
this.label = "Mercado Libre";
this.match = /mercadolibre.com.ar\/ofertas/;
}
getNavigatorBar() {
return document.querySelector("ul.andes-pagination");
}
navigateNext() {
this.getNavigatorBar()
.querySelector("li.andes-pagination__button--next:not(.andes-pagination__button--disabled)")
?.firstChild
.click();
}
navigateLast() {
this.getNavigatorBar()
.querySelector("li.andes-pagination__button--back:not(.andes-pagination__button--disabled)")
?.firstChild
}
}
Creé la clase
Navigator
como base para el código para avanzar y retroceder. Para cada sitio hay que extender la claseNavigator
y colocar su propio label, string de RegExp match y el código para navegar hacia adelante y atrás.Arreglo
navigatorClasses
, donde coloco los nombres de todas las clases que extienden Navigator para que el script genere todos los objetos de los navegadores y seleccione el que coincida con el sitio. Debería poder detectarlas automáticamente pero no encontré como.