1
votes

Problème avec fileChooser. La gestion du sélecteur de fichiers ne fonctionne pas avec plusieurs connexions à la même page

Problème de téléchargement de fichiers.

Je ne sais pas pourquoi cela peut arriver. Peut-être pas pour tous les sites. Je ne sais pas pourquoi cela peut arriver. Peut-être pas pour tous les sites. Je ne sais pas pourquoi cela peut arriver. Peut-être pas pour tous les sites.

 bot = await this.browser.newPage();
 bot.setViewport({"width": 1024, "height": 768});
 let user_agent = await this.browser.userAgent();
 bot.setUserAgent(user_agent.replace("Headless", ""));
 await this.bot.emulate(iPhone);
 let selector = "span[aria-label=\"New Post\"]";
 await this.bot.waitForSelector(selector, {timeout: 5000});
 await this.utils.sleep(this.utils.random_interval(3, 4));
 var filePath = path.relative(process.cwd(), this.config.assets_path + photo);
 const [fileChooser] = await Promise.all([

 this.bot.waitForFileChooser(),

 this.bot.click(selector),

 ]);
 await fileChooser.accept([filePath]);
if (config.executable_path === "" || config.executable_path === false) {
    this.browser = await puppeteer.launch({
        headless: config.chrome_headless,
        args: config.chrome_options,
        defaultViewport: {"width": 1024, "height": 768}
    });
 } else {
    this.browser = await puppeteer.launch({
        headless: config.chrome_headless,
        args: config.chrome_options,
        executablePath: config.executable_path,
        defaultViewport: {"width": 1024, "height": 768}
    });
 }

Erreur: la gestion du sélecteur de fichiers ne fonctionne pas avec plusieurs connexions à la même page

p>


0 commentaires

3 Réponses :


1
votes

J'ai résolu ce problème en exécutant Chromium. Cela devrait fonctionner si vous supprimez le paramètre executablePath de la configuration.


0 commentaires

1
votes

Comme McD l'a écrit, essayez d'utiliser Chromium au lieu de Chrome. Il semble qu'il y ait un problème avec le chrome et le téléchargement de fichiers: https://github.com/GoogleChrome/ marionnettiste / issues / 4783


0 commentaires

1
votes

cela peut être votre navigateur qui ne prend pas en charge le FileChooser, mon ancien Chromium vient cette erreur et chrome aussi, après la mise à niveau vers un Chromium 77.0.3844.0 (r674921) ou supérieur. cela fonctionne très bien avec puppeteer 2.1.0


0 commentaires