LeonMarchetti / tampermonkey-scripts

Scripts for the Tampermonkey browser extension
1 stars 0 forks source link

[navigator] Navigator #13

Closed LeonMarchetti closed 5 months ago

LeonMarchetti commented 5 months ago

Creé la clase Navigator como base para el código para avanzar y retroceder. Para cada sitio hay que extender la clase Navigator 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.

LeonMarchetti commented 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
    }
}