【问题标题】:Restart JS script after TimeoutErrorTimeoutError 后重启 JS 脚本
【发布时间】:2019-06-14 16:53:59
【问题描述】:

我正在从网站获取一些数据,需要浏览很多页面 - 有时他找不到选择器,过了一段时间 - TimeoutError 并且程序停止。

当程序遇到该错误或任何错误时,我想自动重新启动程序。

我一直在尝试,但是如果我在出现错误后手动关闭程序,它只会重新启动......

【问题讨论】:

  • 提供您的代码示例。你在使用 puppeteer 吗?
  • 是的傀儡师!例如: const FOLLOW_SELECTOR = 'body > div:nth-child(12) > div > div.zZYga > div > article > header > div.o-MQd > div.PQo_0 > div.bY2yH > button';

标签: javascript node.js error-handling timeout forever


【解决方案1】:

您的问题是我会通过多次尝试解决的问题。实现 OnError 回调,并使用找不到的选择器再次递归调用该方法。

为避免出现无限循环,您可以添加一个计数器并在达到某个阈值时立即退出循环。

【讨论】:

    【解决方案2】:

    由于您正在使用 puppeteer 并假设您遵循文档中所示的 async/await 结构,您可以将 .waitFor / 选择器包含在 try catch 块中的函数内,然后再次调用该函数。您还可以使用全局变量来限制重试次数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 2014-04-13
      • 2022-09-24
      • 1970-01-01
      • 2020-01-17
      相关资源
      最近更新 更多