我正在使用Selenium WebDriver自动从几个在线视频转换网站下载视频。
基本上,用户只需输入YouTube视频的网址,程序就会运行脚本为您下载视频。
一切都运行得很顺利,但问题是网站无法转换视频。
例如,clipconverter.cc有时会抛出“无法从YouTube获取视频信息”错误,但是当您再次尝试时它会起作用。 我已经做了一些错误检查,如果缺少元素,程序将停止运行脚本,但在上面提到的示例中,我想再次重新运行脚本。
实现这一目标的可能方法是什么?我是否必须重新创建错误页面并获取其中的元素?
答案 0 :(得分:1)
既然你没有使用Selenium作为你的测试引擎,而是作为一个网络刮板 - 恕我直言,这实际上是你处理这些状态的工作流程的问题。这可能是Defensive programming的一个极端情况,但仍然可以设计它来处理这些情况何时/如果它们发生。
实现这一目标的可能方法是什么?我是否必须重新创建错误页面并获取其中的元素?
一旦检测到此类错误消息(通过Selenium的功能)
当网站无法转换视频时
你可以调用处理第一个请求的同一段代码,但这次只传递你已经拥有的参数(videoURL,用户等)。如果您重新尝试并且此站点仍然失败,您可以要求另一个站点执行下载(作为failover scenario)。
对于设计,我会使用
的混合物