node.js - 文件选择器有问题。文件选择器处理不适用于同一页面的多个连接

标签 node.js node-modules puppeteer

上传文件时出现问题。

我不知道为什么会发生这种情况。也许不适用于每个网站。我不知道为什么会发生这种情况。也许不适用于每个网站。我不知道为什么会发生这种情况。也许不适用于每个网站。

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}
    });
 }
 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]);

错误:文件选择器处理不适用于同一页面的多个连接

最佳答案

可能是您的浏览器不支持 fileChooser, 我的旧 Chromium 也出现这个错误,chrome 也出现这个错误, 升级到 Chromium 77.0.3844.0 (r674921) 或更高版本后。 它与 puppeteer 2.1.0 配合得很好

关于node.js - 文件选择器有问题。文件选择器处理不适用于同一页面的多个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57331836/

相关文章:

node.js - 导航超时后关闭浏览器

node.js - NPM 无法识别任何命令

javascript - 如何向 Sentry 发送4XX和5XX错误?

javascript - 当我使用 axios POST 时,Req.body 为空,但当我使用 'request' 时,它工作正常

node.js - 在模块中使用 npm3 无法获取父 node_modules

javascript - Puppeteer 元素选择返回 null 或超时

javascript - 在 page.evaluate 中等待 page.waitFor ?

node.js - npmpublish 命令是否提交更改?

angular - 启动我的项目时出错(运行 ng serve 之后)

node.js - 本地安装 NodeJS 包