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>
3 Réponses :
J'ai résolu ce problème en exécutant Chromium. Cela devrait fonctionner si vous supprimez le paramètre executablePath de la configuration.
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
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