es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

JavaScript para devolver todos los enlaces en la página de descargas.

Descargué algunos libros en Edge, pero lamentablemente el navegador dejó de mostrar los enlaces visitados en color morado y no quiero descargar archivos duplicados (Edge solo renombra los archivos duplicados y otros gestores de descargas simplemente lo descargan y luego te preguntan qué hacer). Así que recurrí a un código JavaScript que puede capturar todos los enlaces en la página de descargas de Edge y exportarlos a un archivo externo, donde programaré otro script para comparar los enlaces en este archivo con lo que está abierto.

Código JS:

function findButton() {

var buttons = document.querySelectorAll(‘button’);
for (var i = 0; i < buttons.length; i++) {

var elem = buttons[i];
var text = elem.textContent || elem.innerText;
if (text.includes(“htt”)){}
else {text = 0;}
return text
}
}

var x = findButton();
alert(x);

Inspeccionar elementos:

El script devuelve solo el valor del primer botón, que es (botón de lista de descargas) = 0.

NOTA:

1) Nada es estático en los atributos y el nombre de clase de los botones (los nombres de clase y los ID cambian)

2) Si tienes una solución más simple para este problema (un gestor de descargas que verifica si el archivo de descarga ya está presente en el destino u otra solución), me gustaría probarlo.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución para comparar archivos descargados en Microsoft Edge usando JavaScript

    Descripción del problema

    El usuario ha descargado varios libros usando Microsoft Edge. Sin embargo, después de un tiempo, el navegador dejó de mostrar en color púrpura los enlaces visitados, lo que dificultaba al usuario identificar archivos duplicados. Aunque diferentes gestores de descarga pueden renombrar archivos duplicados, al usuario le gustaría no descargar archivos duplicados en absoluto. Para abordar este problema, el usuario optó por escribir un código JavaScript.

    Solución

    El usuario creó una función JavaScript llamada findButton() para extraer todos los enlaces en la página de descargas de Edge y guardarlos en un archivo externo. El fragmento de código a continuación muestra la función JavaScript findButton():

    function findButton() {
        var buttons = document.querySelectorAll('button');
        for (var i = 0; i < buttons.length; i++) {
            var elem = buttons[i];
            var text = elem.textContent || elem.innerText;
            if (text.includes("htt")){}
            else {text = 0;}
                return text
        }  
    }
    
    var x = findButton();
    alert(x);
    

    Sin embargo, el fragmento de código solo devuelve el valor del primer botón (que se identifica como el ‘botón de la lista de descargas’), y no todos los enlaces en la página de descargas.

    Para resolver este problema, el usuario puede cambiar la función findButton() para extraer los enlaces del atributo href de los botones. Esto se hace de la siguiente manera:

    function extractLinks() {
        var buttons = document.querySelectorAll('button');
        var links = [];
    
        for (var i = 0; i < buttons.length; i++) {
            var url = buttons[i].getAttribute('href');
    
            if (typeof url !== 'undefined' && url !== null && url !== '') {
                links.push(url);
            }
        }
    
        return links;
    }
    
    var links = extractLinks();
    console.log(links);
    

    El código anterior extrae todos los enlaces de la página de descargas de Edge y los devuelve como una matriz de cadenas. Luego, el usuario puede guardar estos enlaces en un archivo externo y utilizar otro script para comparar los enlaces en este archivo con lo que está abierto.

    Conclusión

    Aunque la solución anterior resuelve el problema del usuario de comparar archivos descargados en Microsoft Edge, existen gestores de descarga que pueden verificar si un archivo de descarga ya está presente en el destino. El usuario puede probar estos gestores de descarga, ya que pueden proporcionar una solución más sencilla a su problema.

Comments are closed.