【问题标题】:Selenium is blocked when uploading a file上传文件时 Selenium 被阻止
【发布时间】:2016-01-29 12:50:59
【问题描述】:

通过 selenium webdriver,我正在尝试自动上传文件(包含数百兆字节的大文件)。

通常它工作正常,但有时网站不上传文件,上传进度卡在 0%。

因此我想在一定的时间间隔后检查进度条 style.width 是否为 0%(以确定是否卡住)。

通常这不会有问题,但是显然 Selenium 在上传文件时被阻止(我认为这是因为请求正在进行中),因此如果我尝试在上传完成之前检查宽度,则会出现超时异常。

有人知道解决这个问题的方法吗? IE。忽略 selenium 中的块以允许我检查 DOM 而不会出现超时异常。

【问题讨论】:

  • 您是否必须为此使用 Selenium,而不是简单的 HTTP 请求,或 curlscpssh、FTP 等?
  • @AndrewRegan 问题是,该站点非常以 JS 为中心,因此使用原始 HTTP 请求将被证明是非常困难的,如果不是不可能的话。
  • 好的,所以您正在测试网站的上传功能,而不仅仅是尝试自动执行手动管理任务?但是,在这种情况下,为什么要使用大量文件?这适用于小文件吗?
  • @AndrewRegan 老实说,除了自动执行外部网站的上传任务之外,我没有测试任何东西。问题是,当上传卡在零时(不时发生)我无法运行任何驱动程序方法,直到请求返回(这永远不会发生)所以我想知道是否有任何方法可以绕过 selenium 的“块”并实际检查页面来源。
  • 只有在通过 Selenium 运行而不是手动运行时才阻止上传?如果真正的问题是服务器错误、JS 错误或网络问题,我不明白为什么 Selenium 会影响事情。也许只是巧合?尝试找出其中任何一个是否是根本原因,而不是尝试解决超时问题。

标签: selenium selenium-webdriver webdriver


【解决方案1】:

尝试使用“WebDriverEventListener”类,该类具有可用于 跟踪文件上传。

【讨论】:

    猜你喜欢
    • 2021-08-21
    • 2020-05-08
    • 2016-09-07
    • 2014-10-26
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2021-01-19
    • 2017-11-05
    相关资源
    最近更新 更多